Мне нужно запустить Firefox на моем сервере, чтобы выполнить некоторые тесты Selenium из Hudson. Я бы не хотел, чтобы мне пришлось устанавливать полный графический интерфейс. Итак, я установил Xvfb, чтобы подделать Gui (я так понимаю, поправьте меня, если мои предположения неверны).
После некоторого времени, пытаясь заставить его работать, я застрял в следующей ситуации:
$ sudo Xvfb -ac :99 &
[dix] Could not init font path element /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType, removing from list!
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
$ firefox
[dix] Could not init font path element /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType, removing from list!
[config/dbus] couldn't register object path
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
(EE) config/hal: NewInputDeviceRequest failed (2)
Xlib: extension "RANDR" missing on display ":99.0".
GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: /bin/dbus-launch terminated abnormally without any error message)
Я запускаю firefox, не устанавливая его из репозиториев. И я получаю тайм-аут сокета, когда пытаюсь запустить тесты на селен, поэтому я предполагаю, что проблема в Firefox и Xvfb.
Я уже установил пакет nex:
i gconf-defaults-service - GNOME configuration database system (system defaults service)
Это на некоторых форумах предлагают исправить, но в моем случае это не работает.
Любое объяснение проблемы и способов ее решения без установки полного графического интерфейса будет очень полезным.
Вы можете попробовать мой способ запуска selenium и Xvfb. Я создаю сценарий bash и сохраняю его как selenium.sh
#!/bin/sh Xvfb :0 -screen 0 1024x768x24 2>&1 >/dev/null & export DISPLAY=:0 java -jar /opt/selenium/selenium-server-1.0.3/selenium-server.jar -log /tmp/selenium.log
Затем я запускаю его так, как я обычно запускаю сценарии bash
$ sh selenium.sh
Кстати, не забудьте включить firefox в свою переменную PATH
Я решил проблему. Очевидно, все предупреждения и ошибки, которые выдавал Xvfb, не имеют никакого значения.
Я неправильно настроил процесс запуска тестов на селен, и тайм-аут сокета возник из-за этой проблемы.
Теперь все работает нормально.
Спасибо всем за попытку.