Я получил запущен образец кода питона, который отлично в рабочем столе Ubuntu:Python DBUS SESSION_BUS - Х11 зависимость
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
from dbus.mainloop.glib import threads_init
import subprocess
from subprocess import call
gobject.threads_init()
threads_init()
dbus.mainloop.glib.DBusGMainLoop(set_as_default = True)
p = subprocess.Popen('dbus-launch --sh-syntax', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
call("export DBUS_SESSION_BUS_ADDRESS" , shell=True)
call("export DBUS_SESSION_BUS_PID" , shell=True)
bus = dbus.SessionBus()
# get DBUS objects, do other stuff with SESSION_BUS
# in same time we can start more independent processes with this file
# finaly kill the SESSION_BUS process
После успеха на рабочем столе я переместил код на сервере издания, который только с оболочкой. Пуск dbus запускает процесс, но python dbus.SessionBus() возвращает ошибку с «/ bin/dbus-запуском, анонимно завершившимся со следующей ошибкой: Ошибка автоклавирования: неудачная инициализация X11».
Надежность не должна быть строгой зависимостью между SESSION_BUS и X11, когда процесс, начатый с «dbus-launch», работает успешно и успешно. Ошибка возникает в python.
Лучшее решение будет чистым питона или линукс среды настройки, худшее, но может быть приемлемым с некоторой поддельной или виртуальной X11 (мне не повезло, когда я пытаюсь его)
Великий, os.environ сделал свою работу! Спасибо. –