尝试使用pyvirtualdisplay
Python 启动一些带有虚拟Xvfb
X 终端的应用程序。但是,我们看到了端口冲突,并希望禁用Xvfb
TCP 端口。我已阅读关于做一些与此非常相似的事情的问题,但我不明白应该在哪里设置这个配置才能使用它pyvirtualdisplay
(或者作为默认配置)。
任何帮助都将不胜感激。非常感谢!
答案1
PyVirtualDisplay 调用 Xvfb 程序,但不幸的是它不提供配置向该程序发送参数的方法。如果您想使用 PyVirtualDisplay 将 -nolisten tcp 选项传递给 Xvfb,则必须编辑包中的 pyvirtualdisplay/xvfb.py 文件。
文件底部是定义命令和选项的此部分:
@property
def _cmd(self):
cmd = [PROGRAM,
dict(black='-br', white='-wr')[self.bgcolor],
'-screen',
str(self.screen),
'x'.join(map(str, list(self.size) + [self.color_depth])),
self.new_display_var,
]
return cmd
您需要将其修改为如下所示的内容:
@property
def _cmd(self):
cmd = [PROGRAM,
dict(black='-br', white='-wr')[self.bgcolor],
'-screen',
str(self.screen),
'x'.join(map(str, list(self.size) + [self.color_depth])),
self.new_display_var,
'-nolisten',
'tcp',
]
return cmd