DBus Finch / Pidgin без X11 - PullRequest
       24

DBus Finch / Pidgin без X11

2 голосов
/ 03 апреля 2011

Я хочу сделать некоторые скрипты 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, и запуск сценария также выдает ту же ошибку.

Решение?Спасибо.

Ответы [ 2 ]

5 голосов
/ 04 апреля 2011

Установка screen

  1. dbus-launch screen
  2. finch
  3. ctrl + ac
  4. python myscript
0 голосов
/ 03 апреля 2011

Я думаю, что зяблику нужен какой-то дисплей.Чтобы запустить его на сервере, попробуйте использовать xvfb-run : http://en.wikipedia.org/wiki/Xvfb

...