从Python运行Xvfb
我正在一个没有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
我还需要做其他什么吗?提前谢谢你。
2 个回答
5
为了帮助未来的访问者,值得提一下的是,PyVirtualDisplay 提供了一个简单的方式来使用 Xvfb,这样你就可以更方便地在 Python 中使用它。
4
你需要添加:
import os
os.environ["DISPLAY"]=":99"
这样,当它去连接X服务器的时候,就能找到你启动的Xvfb实例了。