web-dev-qa-db-fra.com

Comment puis-je exécuter Firefox sur Linux sans houe (c'est-à-dire sans exiger libgtk-x11-2.0.so.0)?

J'ai l'hébergement partagé Dreamhost et j'essaie d'exécuter Firefox 3.0 sur elle sans hébergement pour une utilisation avec sélénium.

Quand j'essaie de l'exécuter (~/local/bin/firefox/firefox), Je reçois le message d'erreur suivant:

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

Comment puis-je exécuter Firefox sur Linux sans avoir besoin de ce fichier d'objet partagé?

19
Paul D. Waite

Je sais que c'est une question assez ancienne, mais je voulais ajouter une réponse plus récente que je me suis dirigée ici par Google et j'ai dû rechercher un certain temps pour trouver la réponse.

A partir de Firefox 57, vous pouvez utiliser le mode sans tête simplement en installant Firefox et en cours d'exécution:

firefox -headless http://test.com/

Voir les documents Firefox Dev Docs ici.

10
AlaskaJoslin

Vous ne pouvez pas exécuter Firefox sans toutes les bibliothèques GTK, mais cela est facilement résolu en installant les bibliothèques. Normalement, vous installeriez Firefox via un système de gestion de paquets et cela tirerait dans toutes les bibliothèques requises.

Pour exécuter Firefox Normalement, vous avez besoin d'un X Server (c'est la partie qui affiche les fenêtres et leur contenu, par opposition à des choses telles que GTK, qui sont des bibliothèques utilisées pour construire le contenu). C'est quelque chose que vous ne couriez pas habituellement sur un serveur. Il y a très peu de choses que vous pouvez faire dans Firefox sans serveur X, je ne sais pas si le sélénium est l'un d'entre eux.

Pour exécuter Firefox sur votre serveur, exécutez un serveur X "virtuel". Un simple est XVFB ( V ir de F Rame B uffer [~ # ~ ~] x [~ # ~] Serveur). C'est dans la X.org Server Distribution . Utilisation des échantillons:

Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
firefox &

Vous ne pouvez pas; Il est lié aux bibliothèques des clients X et GTK +, et je ne pense pas que cela soit même possible de le construire sans eux.

Même dans la version sans tête Firefox, GTK + est toujours nécessaire .

7
geekosaur

Vous pouvez

  • utilisez un Firefox dans un cadre virtuel: xvfb-run -a firefox
  • uTILISATION SLIMERJS (un gecko/rendu incorporé de Firefox) avec XCFB,
  • utilisez Phantomjs sous forme de webkit intégré sans avoir besoin d'une prise en charge d'affichage et de sélénium via Ghostdriver - Si webkit est ok pour vous.
2
flob

Depuis que Selenium est un outil de test de l'interface graphique, j'aurais du mal à croire qu'il peut travailler sans X.

Donc, ma meilleure hypothèse est que votre serveur sans tête nécessite une installation X telle que celle suggérée par Gilles. Il y a un certain nombre d'alternatives similaires.

2
asoundmove