Xvfb - Xvfb
Modelo | Servidor de exibição |
---|---|
Local na rede Internet | www |
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:
- 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.
- 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.
- 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)
- 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
- Página de manual Xvfb
- Xvfb + Firefox - fazer capturas de tela automáticas de páginas da web, usando Xvfb e Mozilla Firefox
- Xdummy uma alternativa ao Xvfb usando um servidor X11 simples com drivers fictícios