Luckyapple 发表于 2013-2-7 14:40:16

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,问题解决。

 
<div class="entry">  执行一个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即可。
This entry was posted on Tuesday, July 31st, 2007 at 6:14 pm and isfiled under Uncategorized. You can follow any responses to this entrythrough the RSS 2.0 feed.You can leave a response, or trackback from your own site.




http://www.robotercoding.com/blog/?p=21
页: [1]
查看完整版本: dbus启动问题