X Window Virtual Frame Buffer ( Xvfb abbreviated ) is an X server that uses a virtual framebuffer and no physical screen (eg, a screen ) has. From the perspective of an X client does an Xvfb server just like any other X server, but its framebuffer issues on a graphics card or equivalent for a computer user can be made visible, but exist only virtually, in memory of the server computer. Xvfb therefore usually have no input devices such as mice or keyboards through which they could interact with a user.

Areas of application

Xvfb was originally used for testing. Since he used as an implementation of an X server, the core elements of such, one can use Xvfb for example, to test portions of the X server that is not directly related to the hardware. Other uses were the testing of rare work environments such as workstations with color depths that are only supported by some monitors, and the like.

Modifications of the concept

Meanwhile, the application field has greatly expanded. Building on the concept of virtual frame buffer, many servers have developed the same not directly operate a workstation, but nested serve in other applications or to implement other remote desktop protocols. In Xvnc and xrdp is such X server, which represent both a VNC or RDP server.

Xnest, however, is an act building on Xvfb X server that can run in another X server in a window as the X client. In this way, the "virtual" screen appears nested in another screen. A similar approach Xdmx, there is an X server, which as an X client can log on to several other X servers, creating a virtual big screen, which can go on for several real screens and Xinerama for example, by can be combined to form a large desktop. In this way, video walls with many dozens of possible monitors that are apparently controlled by a single computer, but in reality are composed of many computers with many X servers that are accessed via a central Xdmx server.

Creating screenshots

Often Xvfb but also still used in its original version to have, for example, run programs that need an X server to the (correct) function, without, however, their outputs or interaction required. If you still interested, they can be intercepted as xwd with screen capture programs. In this way, screenshots of web pages on any screen sizes can be made, for example, on a large scale. The following example creates such a screenshot of a program in a virtual frame buffer:

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

  • Xvfb (1) - Debian GNU / Linux Executable programs or shell commands manual page (from the X.Org project)
  • Jordan Sissel: Xvfb Firefox - With Xvfb and Mozilla Firefox automatically create screenshots of web pages (English)
  • X server