- Xvfb
-
En el sistema X Window, Xvfb o X virtual framebuffer es un servidor X11 que ejecuta todas las operaciones gráficas en memoria, sin mostrar nada por pantalla. Desde el punto de vista del cliente, Xvfb actúa exactamente como cualquier otro servidor, sirviendo las peticiones y enviando excepciones y errores habituales, solo que no sale nada por ninguna pantalla. Este servidor virtual no requiere que la máquina tenga ningún dispositivo gráfico. Tan solo es necesario una capa de red.
Xvfb se usa principalmente para testeo:
- Al compartir código con el servidor X real, puede ser usado para testear las partes de código que no están relacionadas con hardware específico;
- Puede ser usado para testear clientes en varias condiciones en las que se requiera un rango diferente de hardaware. Por ejemplo, puede ser usado para testear si los clientes funcionan correctamente a resoluciones o tamaños de pantalla que son raramente soportadas por hardware.
- Ejecutar clientes en background (se puede usar xwd o un programa similar para hacer una captura de pantalla y mostrar resultados)
- Ejecutar programas que requieren que un servidor X esté activo aunque no se use (por ejemplo Clover html reports)
Como ejemplo, la siguiente secuencia de comandos ejecuta el framebuffer virtual en el display
":1"
, ejecuta un programa en él, captura la pantalla virtual y la deja en el ficheroimage.xwd
:Xvfb :1 & xv -display :1 & xwd -display :1 -root -out image.xwd convert image.xwd image.bmp
El resultado puede ser visualizado ejecutando
xwud -in image.xwd
oxv image.xwd
. También se puede usar el script xvfb-run en algunas plataformas, dejando de preocuparnos en seleccionar un código de muestreo y gestionar la autenticaciónxvfb-run command
Xvfb se usa también como control remoto. VNC sobre Secure shell es ligeramente más rápido que X11 sobre SSH. En este caso, Xvfb se combina casi siempre con un gestor de ventanas libero como Fluxbox y un servidor VNC como X11vnc. Esta es una posible secuencia de comandos para arrancar esto en el servidor:
export DISPLAY=:1 Xvfb :1 -screen 0 1024x768x16 & fluxbox & x11vnc -display :1 -bg -nopw -listen localhost -xkb
El siguiente paso es arrancar un cliente SSH como PuTTY con tunneling a localhost con el puerto 5900 habilitado. Después se puede conectar un vncviewer a localhost para conseguir control remote sobre ese servidor.
Véase también
Enlaces externos
- Xvfb manual page
- Xvfb + Firefox – making automatic screenshots of web pages, using Xvfb and Mozilla Firefox
Categoría:- X servers
Wikimedia foundation. 2010.