博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选择system bus还是session bus?
阅读量:4056 次
发布时间:2019-05-25

本文共 1019 字,大约阅读时间需要 3 分钟。

不同的系统在使用daemon dbus时,有两个选择,可以选择system bus,

简单些;也可以使用session bus; 手机不象PC那样有多用户,手机一般就单用户,

所以手机系统就一个session, 所以,用system bus和session bus来讲区别不大。

 

 

如何用session bus:

 

 dbus-launch --sh-syntax --exit-with-session
DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-4LByHVXzpZ,guid=6c8c42131a483732eca9a90048383b44';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=6836;
 

 

这样做不行,需要把环境变量设置一下

 dbus-launch --sh-syntax --exit-with-session >>env.sh

 source ./env.sh

 

然后另外开一个terminal, 直接运行source ./env.sh就可以了,这样两个terminal中的session dbus的环境设置是一样的。

 

 

 如果用system bus:

直接运行你系统里的dbus-daemon的命令:

 dbus-daemon --system
Failed to start message bus: The pid file "/var/run/dbus/pid" exists, if the message bus is not running, remove this file

 

一般会出现上面的错误:

可以这样处理:

  rm -rf "/var/run/dbus/pid

 dbus-daemon --system 

这样系统中的system bus就可以用了。

 

 根据各个系统的不同,可能所有的程序都挂载到system bus上,也可能都挂载到session bus上面,

向maemo平台就是使用的session bus. 从上面的启动daemon bus的过程中可以看出,用system bus简单些;

用session bus配置就麻烦些:各个不同的程序可能是运行在不同的进程的,这样往session bus上面挂链接

时,需要注意环境变量一致的问题,否则挂接上去了,也不能实现进程之间的正常通信。

转载地址:http://cpoci.baihongyu.com/

你可能感兴趣的文章
判断一个括号字符串是否匹配
查看>>
LRUCache
查看>>
二维数组存储地址
查看>>
mysql中tinyint、smallint、int、bigint的区别
查看>>
MySQL数据库中的Date,DateTime,TimeStamp和Time类型
查看>>
MySQL索引
查看>>
mysql索引详解
查看>>
mysql中索引的使用
查看>>
Spring MVC 异常处理
查看>>
mysql安装好无法启动mysql服务
查看>>
spring boot errorPageFilter 冲突问题。
查看>>
Spring WebSocket初探1 (Spring WebSocket入门教程)
查看>>
spring security
查看>>
Servlet中的过滤器Filter详解
查看>>
使用JWT和Spring Security保护REST API
查看>>
在Spring Boot框架下使用WebSocket实现消息推送
查看>>
在Spring Boot框架下使用WebSocket实现聊天功能
查看>>
快捷键
查看>>
如何防止过拟合
查看>>
linux对于没有写权限的文件如何保存退出vim
查看>>