D-Bus daemon的启动

本文深入探讨了D-Busdaemon这一后台服务的重要性,解释了它如何作为消息中转枢纽,并通过示例展示了如何在系统启动时使用dbus-launch启动dbus-daemon和dbusapplication,以及如何通过环境变量DBUS_SESSION_BUS_ADDRESS进行注册和通讯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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进行注册和通讯。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值