加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

dbus启动问题 (转)

(2009-08-28 10:41:19)
标签:

dbus

to

测试程序

daemon

环境变量

it

首先需要启动守护进程
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
`dbus-launch --sh-syntax --exit-with-session`
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
fi

执行. rundbus即可。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有