我想在我的服务器上做一些Python脚本,在那里我可以通过finch ( pidgin的控制台接口,界面看起来像links2)通过DBus Python库发送消息或检查好友在线状态。
如果您在X中这样做,则此工作。在X终端中运行finch,并在另一个终端上运行Python,没有错误/异常。
但是,如果您在没有X的情况下运行,则必须在TTY1中运行finch (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")
...异常错误是:
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,运行脚本也会出现同样的错误。
解决办法?谢谢。
发布于 2011-04-04 12:36:53
安装screen
dbus-launch screenfinchpython myscript发布于 2011-04-03 19:11:14
我想芬奇需要一些展示。要在服务器上启动它,请尝试使用xvfb-运行:http://en.wikipedia.org/wiki/Xvfb
https://stackoverflow.com/questions/5530542
复制相似问题