如何添加缺少的RANDR扩展

时间:2012-09-28 16:37:10

标签: x11 headless xvfb xrandr

我在无头服务器上设置了xvfb服务器,当我运行时 DISPLAY =:99 firefox 我收到此异常缺少RANDR扩展

他们中的许多人说要从xorg.conf文件中禁用一些xinerna,但是这个文件在我的情况下没有被创建。

所以我正在搜索如何添加缺少的RANDR扩展名。

3 个答案:

答案 0 :(得分:25)

当我使用xvfb通过selenium运行Firefox无头时,我看到了此错误消息。事实证明,这条消息对我来说是一个红色的鲱鱼。消息只是警告,而不是错误。这不是Firefox没有正确启动的原因。

Firefox没有为我开始的原因是它已经更新为不再与我正在使用的Selenium驱动程序兼容的版本。我将selenium驱动程序升级到最新版本,Firefox再次启动正常(即使有关于RANDR的警告消息)。

Firefox的新版本通常只与一个或两个版本的Selenium兼容。有时Firefox会与 NO 兼容的Selenium版本一起发布。当发生这种情况时,新版本的Selenium可能需要一到两周的时间才能发布。因此,我现在保留了一个已知的Firefox版本,可以使用我安装的Selenium版本。除了我的包管理器保持最新的Firefox版本之外,我在/opt/中安装了一个版本(例如/opt/firefox31/)。 Selenium Java API接受要使用的Firefox二进制文件位置的参数。缺点是旧版本的Firefox已知存在安全漏洞,不应与不受信任的内容一起使用。

答案 1 :(得分:15)

首先,Xvfb不读取xorg.conf中的配置。 Xvfb是KDrive X服务器的变体,并且该系列的所有成员都可以从命令行获取其配置。

XRandR和Xinerama确实是互斥的,但在Xvfb的情况下,首先没有Xinerama。您可以通过至少使用以下命令行选项启动Xvfb来启用XRandR扩展

Xvfb +extension RANDR [further options]

答案 2 :(得分:2)

我遇到了同样的问题 Firefox 30 + Selenium 2.49 + Ubuntu 15.04

Ubuntu 14 下运行良好但升级到 15.04 后,我在使用 Xfvb 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>&1