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, Xvfb executa todas as operações gráficas na memória 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 pedidos e enviando eventos e erros conforme apropriado. No entanto, nenhuma saída é mostrada.
Este servidor virtual não requer que o computador no qual está funcionando ter uma tela ou qualquer dispositivo de entrada. Somente a camada de rede é necessária.
Uma alternativa ao Xvfb é Xorg com dispositivos fictícios. Enquanto Xvfb é um servidor X autônomo que emula um framebuffer mudo usando memória virtual,
A partir de 2016, Xvfb está programado para ser substituído por xf86-video-dummy em X.org 7.8.
O Xvfb é usado principalmente para testes:
- Uma vez que compartilha código com o servidor X real, ele 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, ele 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 em segundo plano dos clientes. (O programa xwd ou um programa semelhante para capturar uma captura de tela pode ser usado para realmente ver o resultado)
- Executando programas que exigem que um servidor X esteja ativo mesmo quando eles não o usam. (Por exemplo, relatórios de html de Clover)