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é?
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/
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 .
Vous pouvez
xvfb-run -a firefox
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.