我需要在我的服务器上运行 Firefox,以便从 Hudson 执行一些 Selenium 测试。我不希望安装完整的 GUI。因此,我安装了 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 时没有从存储库安装它。当我尝试运行 selenium 测试时,出现了套接字超时,所以我猜问题出在 Firefox 和 Xvfb 上。
我已经安装了 nex 包:
i gconf-defaults-service - GNOME configuration database system (system defaults service)
在一些论坛上建议进行修复,但对我来说不起作用。
任何关于该问题的解释以及无需安装完整 GUI 即可解决问题的方法都将非常有帮助。
答案1
您可以尝试我启动 selenium 和 Xvfb 的方法。我创建了一个 bash 脚本并将其保存为 selenium.sh
/bin/sh #!/bin/sh 复制代码 Xvfb:0 -screen 0 1024x768x24 2>&1 >/dev/null& 导出显示=:0 java -jar /opt/selenium/selenium-server-1.0.3/selenium-server.jar -log /tmp/selenium.log
然后我像平常运行 bash 脚本一样运行它
$ sh selenium.sh
顺便说一句,不要忘记将 Firefox 添加到你的 PATH 变量中
答案2
我已经解决了这个问题。显然,Xvfb 发出的所有警告和错误似乎都无关紧要。
我错误地配置了 selenium 测试启动过程,并且套接字超时是由该问题引起的。
现在一切运行正常。
感谢每个人的尝试。