Xvfb - Wikipedia

Computer display server
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Xvfb" – news · newspapers · books · scholar · JSTOR (March 2015) (Learn how and when to remove this message)
‹The template How-to is being considered for merging.› 
This article contains instructions, advice, or how-to content. Please help rewrite the content so that it is more encyclopedic or move it to Wikiversity, Wikibooks, or Wikivoyage. (March 2011)
(Learn how and when to remove this message)
Xvfb
TypeDisplay server
Websitex.org/releases/X11R7.7/doc/man/man1/Xvfb.1.xhtml

Xvfb or X virtual framebuffer is a display server implementing the X11 display server protocol. In contrast to other display servers, Xvfb performs all graphical operations in virtual memory without showing any screen output. From the point of view of the X client app, it acts exactly like any other X display server, serving requests and sending events and errors as appropriate. However, no output is shown. This virtual server does not require the computer it is running on to have any kind of graphics adapter, a screen or any input device. Only a network layer is necessary. Xvfb supports several X Protocol Extensions, such as Compositing and OpenGL GLX support via Mesa.[1]

Usage scenarios

[edit]

Xvfb is primarily used for testing:

  1. Since it shares code with the real X server, it can be used to test the parts of the code that are not related to the specific hardware.
  2. It can be used to test clients in various conditions that would otherwise require a range of different hardware; for example, it can be used to test whether clients work correctly at depths or screen sizes that are rarely supported by hardware.
  3. Background running of clients. (the xwd program or a similar program for capturing a screenshot can be used to actually see the result)
  4. In General, Running programs that require an X server to be active even when they do not display anything with it. (e.g. Browser Testing automation such as Selenium[2] or Jenkins,[3] Jira's Clover HTML reports, etc)

Usage examples

[edit]

Screenshot example

[edit]

As an example, the following sequence of commands runs a virtual framebuffer X server as display :1, runs a program (xclock) on it, and captures the virtual screen in the file image.xwd using the xwd command:

Xvfb:1& xclock-display:1& xwd-display:1-silent-root-outimage.xwd

The result can be shown by running the xwud program (xwud -in image.xwd).

The program xvfb-run is often used to automate the process of finding an available display and managing authentication:

xvfb-runcommand

Remote control over SSH

[edit]

Xvfb is also used for remote control. VNC over SSH can be faster than X11 over SSH,[4] specially reducing latency over the internet.[5] In this case, Xvfb is often combined with a lightweight window manager (such as Fluxbox or Openbox) and a VNC server such as X11vnc. A possible sequence of commands to start this on the server is:

exportDISPLAY=:1 Xvfb"$DISPLAY"-screen01024x768x24& fluxbox& x11vnc-display"$DISPLAY"-bg-nopw-listenlocalhost-xkb

The next step is to fire up a SSH client such as PuTTY with tunneling to localhost port 5900 enabled. A vncviewer can then connect to localhost to get remote control over the server.

ssh-N-T-L5900:localhost:5900user@remotehost& vncviewer-encodings'copyrect tight zrle hextile'localhost:5900

x11vnc's man page also contains instructions.

Xvnc (not to be confused with x11vnc) is very similar to Xvfb.

See also

[edit]
  • X11vnc
  • headless software

References

[edit]
  1. ^ "904851 – xvfb-run glxinfo fails". bugzilla.redhat.com. -- I think you also won't get GLX if you don't have mesa-dri-drivers installed in the chroot. -- Thanks. That helped.
  2. ^ "How to Run Your Tests Headless with Xvfb | Elemental Selenium". elementalselenium.com. 18 June 2024.
  3. ^ "Xvfb". plugins.jenkins.io. 14 July 2021.
  4. ^ "Accelerating Remote X Performance". dav.lbl.gov.
  5. ^ "VNC: A Faster Alternative to X11 - HECC Knowledge Base". www.nas.nasa.gov.
[edit]
  • Xvfb manual page
  • Xvfb + Firefox – making automatic screenshots of web pages, using Xvfb and Mozilla Firefox
  • Xpra an alternative to Xvfb using a plain X11 server with dummy drivers

Từ khóa » Xorg Xvfb