DBus学习

1. 介绍

DBus是一种桌面环境的进程间通讯(IPC)机制,有低时延、低消耗等优点

基于socket(有待考证),提供了一对一的对等通讯
使用dbus-daemon作为后台进程时,可实现多对多通讯

由如下三个层次
- libdbus: 接口库,提供点对点通信和数据交换的能力 
- 守护进程: 即dbus daemon进程,提供多对多的通信机制,进程与daemon建立dbus连接,由daemon进行消息的分发
- 封装库: 特定框架下的封装,如dbus-glib/GDBus, QtDBus

Tip:
在2.26版本后,GTK将dbus绑定移入GLib中
详细参考<dbus-glib和GDBus的区别>

2. DBus组成

DBus组成

3. dbus-daemon

源代码位于dbus/bus/main.c

参考资料:
<D-Bus Tutorial>
<D-Bus Specification>

时间: 2024-11-06 00:52:45

DBus学习的相关文章

DBus学习笔记

摘要:DBus作为一个轻量级的IPC被越来越多的平台接受,在MeeGo中DBus也是主要的进程间通信方式,这个笔记将从基本概念开始记录笔者学习DBus的过程 [1] DBus学习笔记一:DBus学习的一些参考资料[2] DBus学习笔记二:什么是DBus?[3] DBus学习笔记三:DBus的一些基本概念 一些基本概念的解释和翻译:http://blog.mcuol.com/User/AT91RM9200/Article/12816_1.htmhttp://www.cnblogs.com/wzh

rhythmbox插件开发笔记2:背景知识学习 D-Bus&amp;VFS&amp;Gio&amp; Python GTK+ 3

这次主要简单介绍下相关的背景知识 D-Bus&VFS&Gio& Python GTK+ 3  D-Bus D-Bus是开源的进程通信(IPC)系统,它允许多个进程进行实时通信.D-Bus提供以下功能: 完成在同一个桌面会话下的多个桌面应用程序间的通信,将整个桌面会话联合成一个整体,并为进程分配生存期 完成桌面会话和操作系统的通信,其中的操作系统包括内核,守护进程和进程 http://en.wikipedia.org/wiki/D-bus 下面一张图解释了linux下图形编程的一切:

Linux学习笔记(四)——Linux_shell脚本基础

一.  BashShell脚本初步 之前我们学习了很多Linux命令,但是这些命令都是在命令提示符下执行的,一次只能执行一条命令并产生结果.如创建一个文件或目录等等.但是有些情况下,我们需要执行多个命令来完成一个完整的任务,我们可以在命令行提示符下也可以同时执行多个命令,但需要用分号分割每个单独的命令,如下所示,先定位到当前用户的工作目录下,然后在目录下创建一个logs目录,并且在logs目录中创建一个空的syslog.log日志文件并在日志文件中添加当前的系统日期和时间. 命令: cd  /h

学习笔记之awk用法

           文本处理三剑客之awk 1. 首先简要总结一些文本处理三剑客: grep族:文本过滤工具 sed:行编辑工具 2. 下面就来看看awk是什么? awk现在linux上用的是GNU awk即gawk ,现在centos系统上awk是gawk的一个符号链接文件.那么awk究竟在centos系统上是用来做什么的呢?awk就是一个报告生成器,格式化文本输出的工具. 3. 学习awk对有什么帮助呢? 学习awk我们可以轻松的对我们想要处理的文本进行查看等,方便我们解决问题. 4. g

Docker学习总结之Run命令介绍

在使用Docker时,执行最多的命令某过于run了.这个命令可以说是所有docker操作的入口.在Docker官方Reference中单独列出了一个章节来介绍Run的各种参数使用,也足以看出Docker run的重要性.有感于此,我感觉有必要好好学习一下Run命令,因此特意看了一下Run命令介绍,结合日常中的使用心得,分享一下.以下文档大部分翻译于Docker 官方Reference,肯定会存在不少错误之处,希望能抛砖引玉,大家共同讨论. Docker在执行时会将相关进程封装到相互隔离的容器(c

opensuse 安装 Anaconda3 之后出现Could not start d-bus. Can you call qdbus?

最近在安装了opensue Leap42.1之后,想要学习一下python,就安装了Anaconda3,并且将Anaconda3的安装路径添加到了PATH里,但是在重新启动系统后,出现了"Could not start d-bus. Can you call qdbus? "的提示框,并且无法进入系统.这主要就是因为将Anaconda3的安装路径添加到了PATH里导致的错误.尝试了一些办法后,无奈只能重新安装了系统(注意,这里在重新安装系统时,登录的用户名要与重装之前不一样才可以,否则

RASPBERRY PI 外设学习资源

参考: http://www.siongboon.com/projects/2013-07-08_raspberry_pi/index.html Raspberry Pi         Get started with Raspberry Pi (RPi), a step by step approach to get your Raspberry Pi with low level electronics hardware control. Make simple, step by step

Edison 蓝牙模块 学习笔记

Edison 蓝牙模块 学习笔记 固定链接:https://www.zybuluo.com/SiberiaBear/note/212527 本笔记基于Intel Edison Bluetooth Guide官方手册完成,如有错误敬请指出. 由于个人能力有限,到最后几节内容一直拖着没有翻译,以后会补上,自己也是边学习边翻译的,还请见谅. Edison 蓝牙模块 学习笔记 基本介绍 Linux集成蓝牙 1 The bluetoothd daemon 2 Configuration 3 Applica

人人都可以做深度学习应用:入门篇

一.人工智能和新科技革命 2017年围棋界发生了一件比较重要事,Master(Alphago)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类的面前.围棋曾经一度被称为"人类智慧的堡垒",如今,这座堡垒也随之成为过去.从2016年三月份AlphaGo击败李世石开始,AI全面进入我们大众的视野,对于它的讨论变得更为火热起来,整个业界普遍认为,它很可能带来下一次科技革命,并且,在未来可预见的10多年里,深刻得改变我们的生活. 其实,AI除了可以做我们熟知的人脸.