Como posso executar o Firefox no Linux sem problemas (ou seja, sem exigir o libgtk-x11-2.0.so.0)?

14

Tenho a hospedagem compartilhada da Dreamhost e estou tentando executar o Firefox 3.0 sem problemas para uso com o Selenium.

Quando tento executá-lo ( ~/local/bin/firefox/firefox ), recebo a seguinte mensagem de erro:

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

Como posso executar o Firefox no Linux sem precisar desse arquivo de objeto compartilhado?

    
por Paul D. Waite 11.03.2011 / 20:42

5 respostas

6

Eu sei que esta é uma pergunta bastante antiga, mas eu queria adicionar uma resposta mais recente, pois fui direcionado pelo Google e tive que procurar por um tempo para encontrar a resposta.

A partir do Firefox 57, você pode executar no modo sem cabeça simplesmente instalando o Firefox e executando:

firefox -headless http://test.com/

Veja os documentos de desenvolvimento do Firefox aqui.

    
por 21.12.2017 / 21:50
13

Você não pode executar o Firefox sem todas as bibliotecas Gtk necessárias, mas isso é facilmente resolvido com a instalação das bibliotecas. Normalmente você instalaria o Firefox por meio de um sistema de gerenciamento de pacotes e isso incluiria todas as bibliotecas necessárias.

Para executar o Firefox normalmente, você precisa de um servidor X (essa é a parte que exibe as janelas e seu conteúdo , ao contrário de coisas como o Gtk, que são bibliotecas que a aplicação usa para construir o conteúdo). Isso é algo que você normalmente não executaria em um servidor. Existem algumas coisas que você pode fazer no Firefox sem um servidor X, não sei se o Selenium é um deles.

Para executar o Firefox em seu servidor, execute um servidor X “virtual”. Um simples é o servidor Xvfb ( v irtual f rame b uffer X ). Está na distribuição do servidor X.org . Uso de amostra:

Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
firefox &
    
por 11.03.2011 / 22:34
6

Você não pode; ele está vinculado às bibliotecas cliente X e Gtk +, e não acho que seja possível construí-lo sem elas.

Mesmo na versão headless do Firefox, o GTK + ainda é necessário .

    
por 11.03.2011 / 21:00
2

Como o Selenium é uma ferramenta de teste de GUI, acho difícil acreditar que ele funcione sem o X.

Então, meu melhor palpite é que seu servidor sem cabeçalho requer uma instalação X, como a sugerida por Gilles. Existem várias alternativas semelhantes.

    
por 12.03.2011 / 05:08
2

Você pode

  • use um Firefox em um framebuffer virtual: xvfb -a firefox
  • use SlimerJS (um mecanismo integrado de Gecko / renderização do Firefox) com xcfb,
  • use o PhantomJS como o WebKit incorporado sem a necessidade de um suporte para exibição e selênio via GhostDriver - se o WebKit estiver correto para você.
por 08.10.2014 / 18:23