Como posso executar o Firefox no CentOS sem exibição? [fechadas]

16

Estou tentando executar o navegador Firefox GUI no servidor CentOS headless para realizar alguns testes na web.

Eu não preciso ver a saída gráfica, porque eu uso o servidor Selenium API para controlar a entrada do navegador e inspecionar a saída.

A configuração foi testada com sucesso em um computador desktop Mac. Ele, no entanto, falha em rodar no meu servidor VPS CentOS sem head com a seguinte mensagem "Error: no display specified." (O que faz sentido, já que é apenas um servidor sentado em um rack em algum lugar.)

Como posso fazer o Firefox rodar sem um display, então o Selenium poderá interagir com ele? Ou - mais amplamente - como as pessoas executam aplicativos somente GUI em um servidor Linux quando não há exibição?

Eu notei que o Firefox tem essa opção de linha de comando:

X11 options
  --display=DISPLAY  X display to use

Infelizmente, não sei nada sobre o X11 ou é exibido no CentOS, então não sei o que especificar na linha de comando ou se isso ajudaria.

    
por Eric 26.02.2012 / 09:06

1 resposta

18

Use Xvfb. Ele fornece um servidor X que não requer conexão com um monitor físico.

(Então, no CentOS, você faria algo como "yum install xorg-x11-server-Xvfb".)

Você pode então iniciá-lo no display ": 1" com o comando "/ path / on / which / installed / Xvfb: 1-tela 0 1024x768x24 &". Isso criará uma tela com resolução de 1027x768 e profundidade 24. Uso de "&" fará com que o comando seja executado em segundo plano.

Antes de iniciar o Firefox, você precisa tornar a exibição acessível, o que é feito usando o comando Exportar - por exemplo. "export DISPLAY =: 1", apontando para qualquer host apropriado.

    
por 26.02.2012 / 09:22