如何在没有显示的CentOS上运行Firefox?[关闭]


16

我正在尝试在无头的CentOS服务器上运行Firefox GUI浏览器,以执行一些Web测试。

我不需要查看图形输出,因为我使用Selenium服务器API来控制浏览器的输入并检查输出。

该安装程序已在台式Mac计算机上成功测试。但是,它无法在我的无头VPS CentOS服务器上运行,并显示以下消息“错误:未指定显示”。(这很有意义,因为它只是一台服务器,位于某处的机架上。)

如何使Firefox在不显示的情况下运行,以便Selenium能够与之交互?或者-更广泛地说-当没有显示时,人们如何在Linux服务器上运行纯GUI应用程序?

我注意到Firefox具有以下命令行选项:

X11 options
  --display=DISPLAY  X display to use

不幸的是,我对X11或CentOS下的显示一无所知,所以我不知道在命令行上指定什么,或者这是否有帮助。


4
我感到奇怪的是,已经被评注了13次的问题以“太本地化”被关闭了。
harshath.jr

1
确实,我遇到了类似的问题,问题和答案都对我有益。一定要重新打开它,以防有人找到其他解决方案。
Marek Rost'8

Answers:


18

使用Xvfb。它为您提供了不需要连接到物理显示器的X服务器。

(因此,在CentOS上,您将执行“ yum install xorg-x11-server-Xvfb”之类的操作。)

然后,可以使用命令“ / path / on / which / installed / Xvfb:1 -screen 0 1024x768x24&”在显示“:1”上启动它。这将创建一个分辨率为1027x768,深度为24的屏幕。使用“&”将使该命令在后台执行。

在启动Firefox之前,您需要使显示可访问,这可以使用“导出”命令-即。“ export DISPLAY =:1”,指向任何合适的主机。


哇!谢谢!那行得通-尽管我从显示器中收到大量奇怪的错误消息。我将针对这些问题发布一个新问题。最重要的是,尽管有消息,但它正在工作并返回我需要的数据。非常感谢,这只是我需要的帮助。
埃里克

顺便说一句,当我完成所有工作后,如何“关闭” Xvfb显示?
埃里克

您应该能够终止该过程。如果您想变得更复杂,可以考虑设置启动/停止脚本(如果该软件包尚未提供;可能是:在/etc/init.d中查找任何xvfb脚本)。
cjc 2012年

1
知道了谢谢。如果您正在寻找更多信誉点,我已发布有关我所看到的信息/错误消息的后续问题:-) serverfault.com/questions/363914/…–
Eric

这个答案是正确的,但是您必须记住,export命令必须与将要运行Firefox的终端在同一终端会话上设置
TuyenNTA
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.