Как я могу запустить Firefox на CentOS без дисплея?

Я пытаюсь запустить браузер Firefox с графическим интерфейсом на головном сервере CentOS, чтобы выполнить какое-то веб-тестирование.

Мне не нужно видеть графический вывод, потому что я использую Selenium Server API для управления вводом браузера и проверки вывода.

Установка была успешно протестирована на настольном компьютере Mac. Однако он не запускается на моем VPS-сервере без головного компьютера со следующим сообщением "Ошибка: отображение не указано". (Это имеет смысл, так как это просто сервер, расположенный где-то в стойке.)

Как заставить Firefox работать без дисплея, чтобы Selenium мог с ним взаимодействовать? Или - в более широком смысле - как люди запускают приложения только с графическим интерфейсом на сервере Linux, когда нет дисплея?

Я заметил, что у Firefox есть опция командной строки:

X11 options
  --display=DISPLAY  X display to use

К сожалению, я ничего не знаю о X11 или дисплеях под CentOS, поэтому я не знаю, что указывать в командной строке, или это поможет.

1 ответ

Решение

Используйте Xvfb. Это дает вам X-сервер, который не требует подключения к физическому дисплею.

(Итак, в CentOS вы должны сделать что-то вроде "yum install xorg-x11-server-Xvfb".)

Затем вы можете запустить его на дисплее ":1" с помощью команды "/ путь / вкл / который / установлен /Xvfb:1 -экран 0 1024x768x24 &". Это создаст экран с разрешением 1027x768 и глубиной 24. Использование "&" заставит команду выполняться в фоновом режиме.

Перед запуском Firefox вам нужно сделать доступным отображение, что делается с помощью команды Export - т.е. "export DISPLAY=:1", указывая на любой хост, который подходит.

Другие вопросы по тегам