我想在我的服务器上做一些Python脚本,我可以通过DBus Python库与finch
(pidgin
的控制台界面,界面看起来像links2
)进行通信发送消息或检查好友在线状态。
如果您在X中执行此操作 。在X终端中运行finch
并在另一个终端中运行Python脚本,没有错误/例外。
但如果你这样做没有X ,你必须在TTY1(ctrl + alt + f1)和TTY2中的python脚本(ctrl + alt + f2)中运行finch
但是python脚本将失败。
以下是该脚本的前几行:
import dbus
bus = dbus.SessionBus() # gives EXCEPTION error
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
...
EXCEPTION错误是:
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.`
我在某处读过,你可能需要在同一个TTY中运行finch
和脚本。但是我无法正确测试,因为它不像在一行上运行cd
而在下一行运行ls
。您键入finch
,它会运行,您不能再键入任何其他命令,例如links2
。我尝试运行finch &
,但似乎暂停了finch
,运行脚本也会出现同样的错误。
解决方案?感谢。
答案 0 :(得分:5)
安装screen
dbus-launch screen
finch
python myscript
答案 1 :(得分:0)
我认为雀科需要一些展示。要在服务器上启动它,请尝试使用 xvfb-run :http://en.wikipedia.org/wiki/Xvfb