我已经在我的无头服务器上设置了xvfb服务器,当我运行DISPLAY=:99 firefox时,我得到了一个缺少RANDR扩展的异常。
他们中的许多人说要从xorg.conf文件中禁用一些xinerna,但在我的例子中没有创建这个文件。
因此,我正在寻找如何添加缺少的RANDR扩展。
发布于 2012-10-02 23:34:08
首先,Xvfb不从xorg.conf读取配置。Xvfb是KDrive X服务器的变体,与该系列的所有成员一样,它从命令行获取配置。
确实,XRandR和Xinerama是互斥的,但在Xvfb的情况下,一开始就没有Xinerama。您可以通过至少使用以下命令行选项启动XRandR来启用Xvfb扩展
Xvfb +extension RANDR [further options]发布于 2014-04-05 01:36:21
当我使用xvfb通过selenium运行Firefox headless时,我看到了这个错误消息。事实证明,这条消息对我来说是无关紧要的。该消息只是一个警告,而不是一个错误。这不是Firefox不能正确启动的原因。
Firefox没有为我启动的原因是它已经更新到与我正在使用的Selenium驱动程序不再兼容的版本。我将selenium驱动程序升级到了最新版本,Firefox再次正常启动(即使出现了有关RANDR的警告消息)。
Firefox的新版本通常只与Selenium的一个或两个版本兼容。火狐偶尔会发布,没有与兼容的Selenium版本。当这种情况发生时,可能需要一到两周的时间才能发布新版本的Selenium。正因为如此,我现在保留了一个Firefox版本,该版本可以与我安装的Selenium版本一起使用。除了由我的包管理器保持最新的火狐版本外,我还在/opt/中安装了一个版本(例如/opt/firefox31/)。Selenium Java API使用一个参数来指定要使用的Firefox二进制文件的位置。缺点是,旧版本的Firefox有已知的安全漏洞,不应该与不受信任的内容一起使用。
发布于 2016-04-06 20:43:02
我在Firefox30+ Selenium 2.49 +Ubuntu15.04上也遇到了同样的问题。
它在Ubuntu14上运行得很好,但在升级到15.04之后,我在使用Xfvb启动Firefox时得到了同样的RANDR警告和问题。
添加+extension RANDR后,它又可以工作了。
$ vim /etc/init/xvfb.conf
#!upstart
description "Xvfb Server as a daemon"
start on filesystem and started networking
stop on shutdown
respawn
env XVFB=/usr/bin/Xvfb
env XVFBARGS=":10 -screen 1 1024x768x24 -ac +extension GLX +extension RANDR +render -noreset"
env PIDFILE=/var/run/xvfb.pid
exec start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --exec $XVFB -- $XVFBARGS >> /var/log/xvfb.log 2>&1https://stackoverflow.com/questions/12644001
复制相似问题