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

16

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

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

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

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

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

X11 options
  --display=DISPLAY  X display to use

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

Эрик
источник
4
Мне очень странно, что вопрос, который был отмечен 13 раз, закрыт как "слишком локализованный".
harshath.jr
1
У меня точно такая же проблема, и вопрос, и ответ были мне полезны. Это определенно должно быть открыто в случае, если кто-то найдет другое решение.
Марек Рост

Ответы:

18

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

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

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

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

CJC
источник
Вот это да! Благодарность! Это работает - хотя я получаю тонны странных сообщений об ошибках с дисплея. Я выложу новый вопрос о них. Итог, несмотря на сообщения, он работает и возвращает нужные мне данные. Большое вам спасибо, это просто помощь, которая мне была нужна.
Эрик
Кстати ... как я могу "выключить" дисплей Xvfb, когда я закончу со всем?
Эрик
Вы должны быть в состоянии просто убить процесс. Если вы хотите стать более сложным, вы можете изучить настройку сценариев запуска / остановки (если пакет еще не предоставил их; возможно, посмотрите: /etc/init.d для любого сценария xvfb).
CJC
1
Понял, спасибо. Я разместил дополнительный вопрос относительно информации / сообщений об ошибках, которые я вижу, на случай, если вы ищете больше очков репутации :-) serverfault.com/questions/363914/…
Эрик
Этот ответ правильный, но вы ДОЛЖНЫ иметь в виду, что exportкоманда ДОЛЖНА быть установлена ​​в том же терминальном сеансе, что и терминал, на котором вы будете запускать свой firefox
TuyenNTA