Как отключить Xvfb с использованием портов TCP при использовании pyvirtualdisplay (Python)?
Пытаясь использовать pyvirtualdisplay
для Python для запуска некоторых приложений с виртуальным Xvfb
X терминал. Тем не менее, мы видели конфликты портов и хотели бы отключить Xvfb
от использования портов TCP. Я прочитал этот вопрос о том, чтобы сделать что-то очень похожее на это, но я не понимаю, где эта конфигурация должна быть установлена для него, чтобы работать с pyvirtualdisplay
(или в качестве конфигурации по умолчанию в противном случае).
Любая помощь с этим будет очень признательна. Спасибо большое!
1 ответ
PyVirtualDisplay вызывает программу Xvfb, но, к сожалению, она не позволяет настроить параметры отправки этой программе. Если вы хотите передать опцию -nolisten tcp в Xvfb с PyVirtualDisplay, вам придется отредактировать файл 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