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.
Odpowiedzi:
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.
źródło
export
polecenie MUSI być ustawione w tej samej sesji terminala, co terminal, na którym będziesz uruchamiać