Xvfb - Xvfb

Xvfb
Modelo Servidor de exibição
Local na rede Internet www .x .org / lançamentos / X11R7 0,7 / doc / man / man1 / Xvfb 0,1 .xhtml

Xvfb ou X framebuffer virtual é um servidor de exibição que implementa o protocolo de servidor de exibição X11 . Em contraste com outros servidores de exibição, o Xvfb executa todas as operações gráficas na memória virtual sem mostrar nenhuma saída de tela. Do ponto de vista do cliente , ele atua exatamente como qualquer outro servidor de exibição X , atendendo a solicitações e enviando eventos e erros conforme apropriado. No entanto, nenhuma saída é mostrada. Este servidor virtual não exige que o computador em que está rodando tenha qualquer tipo de adaptador gráfico , tela ou dispositivo de entrada . Apenas uma camada de rede é necessária.

Uma alternativa ao Xvfb é o Xorg com dispositivos fictícios . O Xvnc também pode criar um display virtual.

Em 2016, o Xvfb foi programado para ser substituído por xf86-video-dummy no X.org 7.8.

Cenários de uso

O Xvfb é usado principalmente para testes:

  1. Como ele compartilha código com o servidor X real, pode ser usado para testar as partes do código que não estão relacionadas ao hardware específico.
  2. Ele pode ser usado para testar clientes em várias condições que, de outra forma, exigiriam uma variedade de hardware diferente; por exemplo, pode ser usado para testar se os clientes funcionam corretamente em profundidades ou tamanhos de tela que raramente são suportados pelo hardware.
  3. Execução de clientes em segundo plano. (o programa xwd ou um programa semelhante para capturar uma imagem pode ser usado para realmente ver o resultado)
  4. Executar programas que requerem que um servidor X esteja ativo mesmo quando não o utilizam. (por exemplo, relatórios Clover HTML)

Exemplos de uso

Exemplo de captura de tela

Como exemplo, a seguinte sequência de comandos executa um servidor framebuffer X virtual como display : 1 , executa um programa nele e captura a tela virtual no arquivo image.png usando o comando import do ImageMagick :

Xvfb :1 &
xv -display :1 &
import -display :1 -window root image.png

O resultado pode ser mostrado executando o programa de exibição ImageMagick ( display image.png ) ou xv ( xv image.png ). O programa xvfb-run é freqüentemente usado para automatizar o processo de localização de um monitor disponível e gerenciamento de autenticação.

xvfb-run command

Controle remoto por SSH

Xvfb também é usado para controle remoto. O VNC sobre SSH é ligeiramente mais rápido do que o X11 sobre SSH. Nesse caso, o Xvfb costuma ser combinado com um gerenciador de janelas leve (como Fluxbox ou Openbox ) e um servidor VNC como o X11vnc . Uma possível sequência de comandos para iniciar isso no servidor é:

 export DISPLAY=:1
 Xvfb :1 -screen 0 1024x768x24 &
 fluxbox &
 x11vnc -display :1 -bg -nopw -listen localhost -xkb

A próxima etapa é iniciar um cliente SSH, como o PuTTY, com o encapsulamento para a porta 5900 do host local habilitado. Um vncviewer pode então se conectar ao localhost para obter controle remoto sobre o servidor.

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

A página de manual do x11vnc também contém instruções.

Xvnc (não deve ser confundido com x11vnc) é muito semelhante ao Xvfb.

Veja também

Referências

links externos