需要python脚本才能使用已打开的Xvfb服务器进程

时间:2013-07-14 01:16:17

标签: python linux xvfb headless-browser pyvirtualdisplay

我有一个运行许多python脚本的php脚本。 python脚本使用pyvirtualdisplay和xvfb的无头firefox浏览器。我的问题是每个python脚本在我的linux服务器上打开一个新的Xvfb进程。因此,我将多个进程堆叠起来并最终耗尽/ tmp / space 我的问题类似于这一个:
Xvfb multiple displays for parallel processing?
我希望一直打开一个Xvfb服务器进程,让所有python脚本都使用它 这是我正在使用的python代码:
#set pyvirtual display
display = Display(visible=0, size=(800, 600))
display.start()

1 个答案:

答案 0 :(得分:1)

我已经通过从我的python代码中删除这些行解决了这个问题:
#set pyvirtual display
display = Display(visible=0, size=(800, 600))
display.start()

并添加以下行:
import os
os.environ['DISPLAY'] = ':1'

这样,python脚本在显示器1上使用已经打开的Xvfb进程设置,而不是启动新的Xvfb服务器进程。