Xvfb o X virtual framebuffer es un servidor de visualización que implementa el protocolo de servidor de visualización X11 . A diferencia de otros servidores de pantalla, Xvfb realiza todas las operaciones gráficas en la memoria virtual sin mostrar ningún resultado de pantalla. Desde el punto de vista del cliente , actúa exactamente como cualquier otro servidor de visualización X , atendiendo solicitudes y enviando eventos y errores según corresponda. Sin embargo, no se muestra ningún resultado. Este servidor virtual no requiere que la computadora en la que se está ejecutando tenga ningún tipo de adaptador gráfico , una pantalla o cualquier dispositivo de entrada . Solo una red capa es necesaria.
Tipo | Servidor de pantalla |
---|---|
Sitio web | www |
Una alternativa a Xvfb es Xorg con dispositivos ficticios . Xvnc también puede crear una pantalla virtual.
A partir de 2016, Xvfb estaba programado para ser reemplazado por xf86-video-dummy en X.org 7.8. [1]
Escenarios de uso
Xvfb se utiliza principalmente para realizar pruebas:
- Dado que comparte código con el servidor X real, se puede usar para probar las partes del código que no están relacionadas con el hardware específico.
- Se puede utilizar para probar clientes en diversas condiciones que, de otro modo, requerirían una variedad de hardware diferente; por ejemplo, se puede usar para probar si los clientes funcionan correctamente en profundidades o tamaños de pantalla que rara vez son compatibles con el hardware.
- Ejecución de antecedentes de clientes. (el programa xwd o un programa similar para capturar una captura de pantalla se puede usar para ver realmente el resultado)
- Ejecución de programas que requieren que un servidor X esté activo incluso cuando no lo utilizan. (por ejemplo, informes HTML de Clover )
Ejemplos de uso
Ejemplo de captura de pantalla
Como ejemplo, la siguiente secuencia de comandos ejecuta un servidor X de framebuffer virtual como pantalla : 1 , ejecuta un programa en él y captura la pantalla virtual en el archivo image.png usando el comando de importación de ImageMagick :
Xvfb: 1 yxv -pantalla: 1 yimport -display: 1 -window root image.png
El resultado se puede mostrar ejecutando el programa de visualización ImageMagick ( display image.png
) o xv ( xv image.png
). El programa xvfb-run se usa a menudo para automatizar el proceso de encontrar una pantalla disponible y administrar la autenticación.
comando xvfb-run
Control remoto por SSH
Xvfb también se utiliza para control remoto. VNC sobre SSH es un poco [ vago ] más rápido que X11 sobre SSH. En este caso, Xvfb a menudo se combina con un administrador de ventanas ligero (como Fluxbox o Openbox ) y un servidor VNC como X11vnc . Una posible secuencia de comandos para iniciar esto en el servidor es:
exportar PANTALLA = : 1 Xvfb: 1 pantalla 0 1024x768x24 y fluxbox y x11vnc -display: 1 -bg -nopw -escucha localhost -xkb
El siguiente paso es iniciar un cliente SSH como PuTTY con tunelización al puerto localhost 5900 habilitado. Un vncviewer puede luego conectarse a localhost para obtener control remoto sobre el servidor.
ssh -N -T -L 5900 : localhost: 5900 user @ remotehost & vncviewer -encodings 'copyrect tight zrle hextile' localhost: 5900
La página de manual de x11vnc también contiene instrucciones.
Xvnc (que no debe confundirse con x11vnc) es muy similar a Xvfb.
Ver también
Referencias
- ^ https://archive.today/20160511122414/https://www.x.org/wiki/Releases/7.8/
enlaces externos
- Página de manual de xvfb
- Xvfb + Firefox : hacer capturas de pantalla automáticas de páginas web, usando Xvfb y Mozilla Firefox
- Xdummy una alternativa a Xvfb usando un servidor X11 simple con controladores ficticios