Running Xvfb from Python



我正在一个没有X服务器的服务器上工作,并试图运行一个使用spynner模块的脚本,这需要一个X服务器。为此,我想运行Xvfb。

我可以通过xvfb-run调用来运行脚本,即:

xvfb-run python2.6 try.py.

这个工作没有问题。但是,我需要从脚本中调用Xvfb。为此,我尝试使用subprocess,如下所示:

xvfb = subprocess.Popen(['Xvfb', ':99'])

将这段代码添加到脚本的开头,并尝试以

方式运行脚本后
python2.6 try.py

我得到消息:

: cannot connect to X server 

还有什么我需要做的吗?

对于将来的访问者,值得一提的是PyVirtualDisplay提供了一个对Xvfb的抽象,使其易于从Python中使用。

你需要添加:

import os
os.environ["DISPLAY"]=":99"

这样当它打开与X服务器的连接时它就能找到你启动的Xvfb实例

最新更新