从 Python 运行 Xvfb

Ozg*_*ali 2 python subprocess xvfb

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

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

xvfb-run python2.6 try.py.
Run Code Online (Sandbox Code Playgroud)

这没有问题。但是,我需要从脚本中调用 Xvfb。为此,我尝试使用子流程如下:

xvfb = subprocess.Popen(['Xvfb', ':99'])
Run Code Online (Sandbox Code Playgroud)

将这段代码添加到脚本的开头后,并尝试将脚本运行为

python2.6 try.py
Run Code Online (Sandbox Code Playgroud)

我收到消息:

: cannot connect to X server 
Run Code Online (Sandbox Code Playgroud)

还有什么我需要做的吗?提前致谢。

Odd*_*ing 5

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