没有X11的DBus Finch/Pidgin

Rob*_*bin 2 python x11 dbus pidgin finch

我想在我的服务器上做一些Python脚本,我可以通过DBus Python库与finch(通过pidgin界面看起来像这样的控制台界面)进行通信,links2以发送消息或检查好友的在线状态.

如果在X中执行此操作,则此方法有效.finch在X终端中运行并在另一个终端中运行Python脚本,没有错误/异常.

但如果你没有X,你必须finch在TTY1(ctrl + alt + f1)和TTY2中的python脚本(ctrl + alt + f2)中运行,但python脚本将失败.

以下是该脚本的前几行:

import dbus
bus = dbus.SessionBus() # gives EXCEPTION error
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
...
Run Code Online (Sandbox Code Playgroud)

EXCEPTION错误是:

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.`
Run Code Online (Sandbox Code Playgroud)

我读到某个地方,你可能需要finch在同一个TTY中运行和脚本.但是我无法正确测试,因为它不像cd在一行和ls下一行上运行.你键入finch,它运行,你不能再键入任何其他命令,如links2.我尝试运行,finch &但似乎暂停finch,并且运行脚本也会出现相同的错误.

解?谢谢.

Rob*_*bin 5

安装 screen

  1. dbus-launch screen
  2. finch
  3. CTRL + AC
  4. python myscript