Archives

帖子来自 cuteqt RSS

cuteqt

MeeGo 的 DBus 调试工具

作者: cuteqt (1 篇文章) 日期: 三月 8, 2011 在 10:43 上午
评论 (0)

  DBus是MeeGo进程通信的核心。我们简要的看一下MeeGo系统的哪些地方都使用了DBus. 1.从一个应用中启动另一个应用时。比如在联系人应用中想要拨打联系人的电话时,MeeGo系统中是通过DBus做进程通信的. 2.Service Framework是基于DBus的。比如你看到一个多媒体文件,点击提交一个"播放文件"的请求,该请求搜索合适的应用来播放该文件. 3.发布和订阅者系统。比如一个屏幕上的显示订阅了电池的电量消息,则在电量变化时通过DBus通知订阅者. 4.Notification Manager也是基于DBus的。如有短信到达,Notification Manger会进行提示. 5.系统的配置文件如果想在变动的时候通知MeeGo中感兴趣的应用,也需要用到DBus,比如主题的变化等. 6. 蓝牙中间件bluez和电话管理系统ofono的进程通信系统也是基于DBus的。 鉴于DBus的这种重要性,可以说"没有DBus就没有MeeGo"。那么我们也有必要了解一下MeeGo中有哪些DBus工具可以使用,方便在开发过程中遇到问题时更快的定位和解决问题。 准备DBUS_SESSION_BUS_ADDRESS 两个基于DBus的应用要能进行通信,他们需要有同样的DBUS_SESSION_BUS_ADDRESS.MeeGo在启动它的uxlaunch时,会启动一个DBus的服务进程,可以从这个进程里得到DBUS_SESSION_BUS_ADDRESS的值,而且通过uxlaunch加载的应用会继承该环境变量,如果是自己从命令行启动的话,那么需要在运行你的应用前设置好该环境变量,才能正常的和MeeGo系统里的已有应用进行通信。可以通过如下方法设置该值. export `tr '' '\n' < /proc/$(pidof ...

继续 ›

分类: 博客征文专栏, 开放源代码, 移动技术
标签:, ,