Xvfb

from Wikipedia, the free encyclopedia
Normally, an X server ultimately displays the windows of the X clients on a real monitor. With Xvfb, this monitor is only virtual, so it does not exist at all.

X Window Virtual Framebuffer (abbreviated to Xvfb ) is an X server that uses a virtual framebuffer and does not have a physical screen (e.g. a screen ). From the point of view of an X client , an Xvfb server works like any other X server, but its framebuffer outputs are not made visible to a computer user via a graphics card or similar , but only exist virtually, in the main memory of the server computer. Xvfb therefore usually do not have any input devices such as mice or keyboards through which they could interact with a user.

application areas

Xvfb was originally used for testing. Since it uses the core elements of an X server as an implementation , Xvfb can be used, for example, to test parts of the X server that are not directly related to the hardware . Other uses have been to test rare work environments such as workstations with color depths that are only supported by a few monitors, and the like.

Modifications to the concept

This example setup shows a VNC client connecting to a VNC server provided by Xvnc. In this way, the X Window System can be used via VNC.

In the meantime, the area of ​​application has expanded significantly. Based on the concept of the virtual frame buffer, numerous servers have been developed that do not directly serve a workstation, but are nested in other applications or for the implementation of other remote desktop protocols. In Xvnc and xrdp is such X-Server, which is also a VNC - or RDP represent server.

Xnest, on the other hand, is an X server based on Xvfb, which can run in a window as an X client in another X server. In this way the "virtual" screen appears nested in another screen. Xdmx follows a similar approach, it is an X server that can log on to several other X servers as an X client and thus creates a large virtual screen that can span several real screens and, for example, using Xinerama can be put together to form a large desktop . In this way, video walls with many dozen monitors are possible, which seem to be controlled by a single computer, but are in reality put together by many computers with many X servers that are addressed via a central Xdmx server.

Creation of screenshots

Often, however, Xvfb is still used in its original variant, for example to run programs that need an X server to (correctly) function, without the need for output or interaction. If you are still interested, they can be intercepted with screenshot programs such as xwd . In this way, for example, large amounts of screenshots of websites are made on any screen size. The following example creates such a screenshot from a program in the virtual framebuffer:

Xvfb :1 &
xv -display :1 &
xwd -display :1 -root -out image.xwd

Web links