[英]Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 through ssh in python
[英]DBus Finch/Pidgin without X11
我想在服務器上做一些Python腳本,通過links2
Python庫與finch
( pidgin
的控制台接口,接口看起來像links2
)進行通信,以發送消息或檢查好友的在線狀態。
如果您在X中執行此操作,則將起作用 。在X終端中運行finch
,然后在另一個終端中運行Python腳本,而不會出現錯誤/異常。
但是,如果不使用X進行操作 ,則必須在TTY1(ctrl + alt + f1)中運行finch
,在TTY2(ctrl + alt + f2)中運行python腳本,但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
,並且運行腳本也給出了相同的錯誤。
解? 謝謝。
安裝screen
dbus-launch screen
finch
python myscript
我認為雀科需要一些展示。 要在服務器上啟動它,請嘗試使用xvfb-run : http : //en.wikipedia.org/wiki/Xvfb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.