Linux
使用 pyvirtualdisplay (Python) 時如何使用 TCP 埠禁用 Xvfb?
嘗試使用
pyvirtualdisplay
Python 啟動一些帶有虛擬Xvfb
X 終端的應用程序。但是,我們已經看到埠衝突,並希望禁用Xvfb
TCP 埠。我已經閱讀了這個關於做與此非常相似的事情的問題,但我不明白應該在哪裡設置這個配置才能使用pyvirtualdisplay
(或者作為預設配置)。對此的任何幫助將不勝感激。非常感謝!
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