多个进程的Xvfb实例

0 投票
1 回答
1870 浏览
提问于 2025-04-16 22:53

我正在webfaction的一个服务器上开发一个应用程序。我有一个Python类,里面定义了两个函数。每个函数都使用一个叫做spynner.Browser()的对象,而这个对象需要一个X服务器在运行。我为此使用了Xvfb。

这两个函数各自运行得很好,但问题出现在我尝试在不同的线程中同时运行它们时。这样做的时候,它们都不工作。我现在的Xvfb设置是这样的:

我在外部运行Xvfb,显示编号是99,然后在每个函数开始时,我将DISPLAY变量设置为99,代码如下:

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

但是我看不到这两个函数的任何输出。我还尝试过运行两个不同的Xvfb实例,给它们不同的显示编号,然后让每个函数连接到不同的显示,但这也没有成功。根据日志,我从其中一个线程得到了一个段错误。

我还需要做其他事情吗?还是我做错了什么?

1 个回答

0

你试过把显示设置为一个环境变量吗?

可以这样做:os.environ["DISPLAY"] = ":99"

撰写回答