Estou tentando executar o navegador GUI do Firefox no servidor CentOS decapitado para realizar alguns testes na web.
Não preciso ver a saída gráfica, porque uso a API do servidor Selenium para controlar a entrada do navegador e inspecionar a saída.
A instalação foi testada com sucesso no computador Mac desktop. No entanto, ele falha ao executar no meu servidor VPS CentOS decapitado com a seguinte mensagem "Erro: nenhuma exibição especificada". (O que faz sentido, já que é apenas um servidor em um rack em algum lugar.)
Como faço para que o Firefox funcione sem uma tela, para que o Selenium possa interagir com ele? Ou - de forma mais ampla - como as pessoas executam aplicativos somente de GUI em um servidor Linux quando não há exibição?
Notei que o Firefox tem esta 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, portanto não sei o que especificar na linha de comando ou se isso ajudaria.
Respostas:
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 iniciá-lo na exibição ": 1" com o comando "/ path / on / which / installed / Xvfb: 1-screen 0 1024x768x24 &". Isso criará uma tela com resolução 1027x768 e profundidade 24. O 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 - ie. "export DISPLAY =: 1", apontando para qualquer host apropriado.
fonte
export
comando deve ser definida na mesma sessão de terminal como o terminal você vai executar o seu firefox