Назад | Перейти на главную страницу

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

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

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

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

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

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

X11 options
  --display=DISPLAY  X display to use

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

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

(Итак, в CentOS вы бы сделали что-то вроде «yum install xorg-x11-server-Xvfb».)

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

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