我有 Dreamhost 共享主机,并且我正在尝试在其上无头运行 Firefox 3.0,以便与 Selenium 一起使用。
当我尝试运行它 ( ~/local/bin/firefox/firefox
) 时,我收到以下错误消息:
error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
如何在不需要此共享对象文件的情况下在 Linux 上运行 Firefox?
答案1
如果没有 Firefox 所需的所有 Gtk 库,您就无法运行 Firefox,但这可以通过安装库轻松解决。通常,您会通过包管理系统安装 Firefox,这会引入所有必需的库。
要正常运行 Firefox,您需要X服务器(这是显示窗口及其内容的部分,而不是像 Gtk 这样的东西,Gtk 是应用程序用来构建内容的库)。这是您通常不会在服务器上运行的东西。在没有 X 服务器的情况下,你可以在 Firefox 中做很少的事情,我不知道 Selenium 是否是其中之一。
要在您的服务器上运行 Firefox,请运行“虚拟”X 服务器。一个简单的就是 Xvfb (v虚拟的F拉梅乙承受X服务器)。它位于X.org 服务器分布。使用示例:
Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
firefox &
答案2
我知道这是一个相当老的问题,但我想添加一个更新的答案,因为我被谷歌引导到这里,并且不得不搜索一段时间才能找到答案。
从 Firefox 57 开始,您只需安装 Firefox 并运行即可以无头模式运行:
firefox -headless http://test.com/
答案3
你不能;它与 X 和 Gtk+ 客户端库链接,我认为没有它们甚至不可能构建它。
即使在 Firefox 无头版本中,仍然需要 GTK+。