dbus啓動問題

首先需要啓動守護進程
dbus-daemon –system  –print-pid –print-address
結果提示 Failed to start message bus: Could not get UID and GID for username “messagebus”
dbus需要有一個messagebus用戶,創建該用戶即可,useradd messagebus,問題解決。
執行一個dbus測試程序,提示:D-Bus library appears to be incorrectly set up;
failed to read machine uuid: Failed to open
“/usr/var/lib/dbus/machine-id”: No such file or directory
沒有machine-id文件,查了一下,需要給它定義一個id,使用dbus-uuidgen >/usr/var/lib/dbus/machine-id
產生這個文件,該問題解決。
再次執行測試程序,又有問題:Couldn’t connect to session bus: Failed to execute dbus-launch to autolaunch D-Bus session,看了幫助
http://dbus.freedesktop.org/doc/dbus-launch.1.html
AUTOMATIC LAUNCHING一節,需要設置DBUS_SESSION_BUS_ADDRESS環境變量的值,先執行dbus-launch,獲得了DBUS_SESSION_BUS_ADDRESS值,再export一下,最後執行測試程序,OK了
在dbus幫助中有一篇關於
dbus-launch的文章
,可以在腳本中啓動dbus-launch,同時自動設置DBUS_SESSION_BUS_ADDRESS環境變量,腳本文件rundbus如下:
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
      ## if not found, launch a new one
      eval `dbus-launch --sh-syntax --exit-with-session`
      echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
fi
執行. rundbus即可。
                        


本文來自ChinaUnix博客:http://blog.chinaunix.net/u3/93670/showart_1905507.html
發佈了22 篇原創文章 · 獲贊 21 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章