D-Bus daemon是D-Bus的非常重要的一个服务,类似于IP网络中的路由器。
跟这个后台服务有关的应用程序包括:
dbus-daemon: D-Bus的后台进程,作为D-Bus的消息中转枢纽,可分成system和session两种。
dbus-launch: 启动一个dbus-daemon,后面有不同的参数。一般而言,dbus-daemon启动后需要将其地址告诉给所有需要使用该bus的applications。
当系统启动时,需要使用dbus-launch来启动dbus-daemon,一般而言,
一般采用下面的命令启动dbus daemon以及dbus application
(1) eval `dbus-launch --auto-syntax`
(2) ./yourapp
第一行代码,采用eval来执行两次,第一次执行dbus-lauch --auto-syntax,除了启动dbus daemon之外,还输出了下面的内容:
DBUS_SESSION_BUS_ADDRESS='unix:path=/tmp/dbus-6Z62FMmwf3,guid=5dbd92e4865a3f56880d2120000000d6';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=998;
第二次执行时就将环境变量DBUS_SESSION_BUS_ADDRESS暴露出去了。所有的dbus application在注册DBUS服务时,必须知道这个DBUS_SESSION_BUS_ADDRESS的数据。
在第二行执行自己的dbus application的时候,根据DBUS_SESSION_BUS_ADDRESS环境变量,能够找到session bus进行注册和通讯。
来源:CSDN
作者:szonebit
链接:https://blog.csdn.net/easebone/article/details/7336125