Jak mogę uruchomić Firefoksa na CentOS bez wyświetlacza? [Zamknięte]

16

Próbuję uruchomić przeglądarkę GUI Firefox na bezgłowym serwerze CentOS, aby przeprowadzić testy w sieci.

Nie muszę widzieć graficznego wyniku, ponieważ używam API serwera Selenium do kontrolowania danych wejściowych przeglądarki i sprawdzania wyników.

Instalacja została pomyślnie przetestowana na komputerze stacjonarnym Mac. Jednak nie działa na moim bezgłowym serwerze VPS CentOS z następującym komunikatem „Błąd: nie określono wyświetlacza”. (Co ma sens, ponieważ jest to po prostu serwer stojący gdzieś w szafie).

Jak mogę uruchomić Firefoksa bez wyświetlacza, aby Selenium mógł z nim współpracować? Lub - szerzej - w jaki sposób ludzie uruchamiają aplikacje tylko z graficznym interfejsem użytkownika na serwerze Linux, gdy nie ma wyświetlacza?

Zauważyłem, że Firefox ma tę opcję wiersza polecenia:

X11 options
  --display=DISPLAY  X display to use

Niestety nie wiem nic na temat X11 ani wyświetlaczy pod CentOS, więc nie wiem, co podać w wierszu poleceń, ani czy to pomogłoby.

Eric
źródło
4
Wydaje mi się bardzo dziwne, że pytanie, które zostało 13 razy oznaczone gwiazdką, jest zamknięte jako „zbyt zlokalizowane”.
harshath.jr
1
Dokładnie mam podobny problem i zarówno pytanie, jak i odpowiedź były dla mnie korzystne. Zdecydowanie należy go ponownie otworzyć na wypadek, gdyby ktoś znalazł inne rozwiązanie.
Marek Rost,

Odpowiedzi:

18

Użyj Xvfb. Daje ci serwer X, który nie wymaga połączenia z fizycznym wyświetlaczem.

(Tak więc w CentOS zrobiłbyś coś w stylu „yum install xorg-x11-server-Xvfb”.)

Następnie możesz uruchomić go na wyświetlaczu „: 1” za pomocą polecenia „/ path / on / which / install / Xvfb: 1 -screen 0 1024x768x24 &”. Spowoduje to utworzenie ekranu o rozdzielczości 1027 x 768 i głębokości 24. Użycie „&” spowoduje wykonanie polecenia w tle.

Przed uruchomieniem przeglądarki Firefox należy udostępnić ekran, co odbywa się za pomocą polecenia Eksportuj, tj. „export DISPLAY =: 1”, wskazując na odpowiedni host.

cjc
źródło
Łał! Dzięki! To działa - chociaż dostaję TONY dziwnych komunikatów o błędach z wyświetlacza. Wyślę nowe pytanie na ich temat. Podsumowując, pomimo wiadomości, działa i zwraca dane, których potrzebuję. Dziękuję bardzo, to była tylko pomoc, której potrzebowałem.
Eric
Przy okazji - jak mogę „wyłączyć” wyświetlacz Xvfb, kiedy skończę ze wszystkim?
Eric
Powinieneś być w stanie po prostu zabić proces. Jeśli chcesz być bardziej wyrafinowany, możesz zajrzeć do konfigurowania skryptów start / stop (jeśli pakiet jeszcze go nie udostępnia; może: poszukać w /etc/init.d dowolnego skryptu xvfb).
cjc
1
Mam to, dzieki. Wysłałem pytanie uzupełniające dotyczące informacji / komunikatów o błędach, które widzę, na wypadek, gdybyś szukał więcej punktów reputacji :-) serverfault.com/questions/363914
Eric
Ta odpowiedź jest poprawna, ale MUSISZ pamiętać, że exportpolecenie MUSI być ustawione w tej samej sesji terminala, co terminal, na którym będziesz uruchamiać
firefoxa