Запуск Xvfb из Python - PullRequest
       23

Запуск Xvfb из Python

2 голосов
/ 25 июля 2011

Я работаю на сервере без X-серверов и пытаюсь запустить скрипт, использующий модуль spynner, для которого требуется X-сервер. Для этого я хочу запустить Xvfb.

Я могу запустить скрипт, вызвав его через xvfb-run, т. Е .:

xvfb-run python2.6 try.py.

Это работает без проблем. Однако мне нужно вызвать Xvfb из скрипта. Для этого я попытался использовать подпроцесс следующим образом:

xvfb = subprocess.Popen(['Xvfb', ':99'])

После добавления этого фрагмента кода в начало скрипта и попытки запустить скрипт как

python2.6 try.py

Я получаю сообщение:

: cannot connect to X server 

Есть ли что-то еще, что мне нужно сделать? Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 28 августа 2012

Для будущих посетителей стоит упомянуть, что PyVirtualDisplay предлагает абстракцию над Xvfb, чтобы его было легко использовать из Python.

3 голосов
/ 25 июля 2011

вам нужно добавить:

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

чтобы при открытии соединения с X-сервером он мог найти экземпляр Xvfb, который вы запустили

...