Я хочу выполнить несколько сценариев Python на своем сервере, где я могу общаться с finch
(консольный интерфейс pidgin
, с интерфейсом, похожим на links2
) через библиотеку DBus Python для отправки сообщений или проверки онлайн-статуса друга.
Это работает, если вы делаете это в X. Запустите finch
в X-терминале и запустите скрипт Python в другом терминале без ошибок/исключений.
Но если вы сделаете это без X, вам придется запустить finch
в TTY1 (ctrl+alt+f1) и скрипт Python в TTY2 (ctrl+alt+f2), но скрипт python провал.
Ниже приведены первые несколько строк скрипта:
import dbus
bus = dbus.SessionBus() # gives EXCEPTION error
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
...
Ошибка ИСКЛЮЧЕНИЯ:
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.`
Я где-то читал, что, возможно, вам нужно запустить finch
и сценарий в одном и том же TTY. Однако я не могу проверить это должным образом, потому что это не похоже на запуск cd
в одной строке и ls
в следующей строке. Вы вводите finch
, он запускается, и вы больше не можете вводить никакие другие команды, например links2
. Вместо этого я попытался запустить finch &
, но это, кажется, приостанавливает finch
, и запуск скрипта также дает ту же ошибку.
Решение? Спасибо.