Как я могу использовать Pygi Webkit при установке безголового сервера?

У меня есть набор сценариев, который работает на моем ноутбуке и работает нормально, пока я загружаюсь в сеанс X, но если я работаю на установке без сервера, я получаю множество критических сбоев от Gtk. Я уверен, что решение состоит в том, чтобы использовать xvfb, но я не могу найти работающий пример.

Помощь приветствуется.

1
задан 24 November 2013 в 20:57

1 ответ

Я следовал этой статье для запуска тестовой среды на основе Firefox на сервере ранее в этом году. Xvfb-штука довольно проста, нам просто нужно убедиться, что контроль доступа отключен, чтобы X не получал всю нагрузку. Нечто подобное должно заставить вас начать:

sudo apt-get install xvfb
sudo Xvfb :10 -ac
export DISPLAY=:10
# run your gubbins

Хотя вы должны заметить, что это не обеспечит все, что есть в реальном сеансе рабочего стола. Если вы когда-нибудь попадете в такую ​​ситуацию (где вам нужен настоящий рабочий стол), возможно, стоит разделить это на виртуальную машину поверх сервера. Чуть менее неэффективно, но намного более портативно.

Редактировать от Авраама:
Я закончил, используя методологию, но я хотел ее в задаче управления питоном. Моя реализация сделала то же самое, но это выглядело так:

from django.core.management.base import BaseCommand, CommandError
import subprocess, os
from multiprocessing import Process

def run():
    sub = Process(target=subprocess.call, args=(('Xvfb', ':10', '-ac',), ))
    sub.start()
    env = os.environ.copy()
    env['DISPLAY'] = ":10"
    tasks = ('random','management','commands','thatneedDISPLAY:X')
    for task in tasks:
        p = subprocess.call(['python','manage.py',task],env=env)
    sub.terminate()

class Command(BaseCommand):
    def __init__(self):
        BaseCommand.__init__(self)

    args = 'none'
    help = '''Run all daily tasks.'''

    def handle(self, *args, **options):
        run()
0
ответ дан 24 November 2013 в 20:57

Другие вопросы по тегам:

Похожие вопросы: