Linux dbus命令行套件
D-Bus是Linux使用的进程间通信机制,允许各个进程互相访问,而不需要为每个其他组件实现自定义代码。即使对于系统管理员来说,这也是一个相当深奥的主题,但它确实有助于解释linux的另一部分是如何工作的。 这里主要介绍 dbus-send 与 GDbus cli工具,其他的还有QtDbus , d-feet… 命令行工具dbus-send ,是freedesktoop提供的dbus包配套的命令客户端工具,可用于发送dbus消息。 GDbus GLib实现的dbus工具。较与 dbus-send,拥有更完整的功能。 d-feet: 可以处理所有D-Bus服务的GUI应用程序。 dbus-send dbus有两种消息总线 (message bus):system bus 和 session bus,通过使用 --system和 --session 选项来通过dbus-send 向系统总线或会话总线发送消息。如果两者都未指定,默认为**session bus*. 借此,顺道聊下 system bus 和 session bus: System Bus: 在桌面上,为所有用户提供一条总线. 专用于系统服务。 有关于低级时间,例如 网络连接,USB设备。 在嵌入式Linux系统中,system bus是唯一D-Bus类型。 Session Bus: 每个用户会话一个实例 为用户应用提供那个桌面服务。 连接到 X-session 参数选项 参数 说明 --dest=NAME 这个是必选的参数,指定要接收消息的接口名称。例如 org.freedesktop.ExampleName --print-reply 打印回复消息 --print-reply=literal 如选项一样,打印回复正文。如有特殊字符,如对象或 object 则按字面打印,没有标点符号、转义字符等。 --reply-timeout= 可选参数,等待回复的超时时长,单位为 毫秒。 --system --session --type=method_call signal 必须始终指定要发送的消息的对象路径和名称。以下参数(如果有)是消息内容(消息参数)。这些值作为类型指定的值给出,可能包括如下所述的容器(数组、dict和变体)。 支持参数 dbus-send 发送的消息,在调用方法需要传参数时,必须将这些值给出。dbus-send 支持传入的参数的类型,并不为D-Bus支持的所有的数据类型,仅为一些简单的类型:如...