我在一个没有X服务器的服务器上工作,并试图运行一个使用spynner模块的脚本,这需要一个X服务器。为此,我想运行Xvfb。
我可以通过xvfb-run调用该脚本来运行它,即:
xvfb-run python2.6 try.py.这是没有问题的。但是,我需要从脚本中调用Xvfb。为此,我尝试使用子进程,如下所示:
xvfb = subprocess.Popen(['Xvfb', ':99'])在将这段代码添加到脚本的开头并尝试以如下方式运行脚本之后
python2.6 try.py我明白了:
: cannot connect to X server 还有什么我需要做的吗?提前谢谢。
发布于 2011-07-25 06:57:55
您需要添加:
import os
os.environ["DISPLAY"]=":99"因此,当它打开到X服务器的连接时,它将能够找到您已经启动的Xvfb实例
发布于 2012-08-28 09:35:36
对于将来的访问者,值得一提的是,PyVirtualDisplay提供了Xvfb之上的抽象,使其易于在Python中使用。
https://stackoverflow.com/questions/6810235
复制相似问题