Linux - dbus基础
Posted 王万林 Ben
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - dbus基础相关的知识,希望对你有一定的参考价值。
Linux - dbus - 如何查看dbus有什么服务
前言
一、查看
方法1:gdbus是glib的一部分,它支持bash补全。
[thesre@centos8 ~]$ source /usr/share/bash-completion/completions/gdbus
[thesre@centos8 ~]$ gdbus call --system --dest <TAB><TAB> #按两次TAB键显示可能补全的选项
com.redhat.tuned org.freedesktop.import1 org.freedesktop.PolicyKit1
fi.epitest.hostap.WPASupplicant org.freedesktop.locale1 org.freedesktop.systemd1
fi.w1.wpa_supplicant1 org.freedesktop.login1 org.freedesktop.timedate1
org.freedesktop.DBus org.freedesktop.machine1
org.freedesktop.hostname1 org.freedesktop.nm_dispatcher
[thesre@centos8 ~]$ gdbus call --system --dest
方法2:查看ListNames方法
为了获得可用接口的列表,DBus导出了org.freedesktop.DBus.ListNames方法。可以通过运行以下命令来调用它:
[thesre@centos8 ~]$ gdbus call --system --dest org.freedesktop.DBus \\
> --object-path /org/freedesktop/DBus \\
> --method org.freedesktop.DBus.ListNames
(['org.freedesktop.DBus', ':1.43204', 'org.freedesktop.login1', 'org.freedesktop.systemd1', 'com.redhat.tuned', ':1.34232', 'org.freedesktop.PolicyKit1', ':1.34233', ':1.1', ':1.2'],)
[thesre@centos8 ~]$
[thesre@centos8 ~]$ gdbus call --system --dest org.freedesktop.DBus \\
> --object-path /org/freedesktop/DBus \\
> --method org.freedesktop.DBus.ListNames | \\
> python -c 'import sys, pprint; pprint.pprint(eval(sys.stdin.read()))'
(['org.freedesktop.DBus',
'org.freedesktop.login1',
'org.freedesktop.systemd1',
':1.43205',
'com.redhat.tuned',
':1.34232',
'org.freedesktop.PolicyKit1',
':1.34233',
':1.1',
':1.2'],)
dbus通信图
总结
。
以上是关于Linux - dbus基础的主要内容,如果未能解决你的问题,请参考以下文章
linux 进程间通信 dbus-glib实例详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)
linux 进程间通信 dbus-glib实例详解二(上) 消息和消息总线(附代码)
linux 进程间通信 dbus-glib实例详解二(下) 消息和消息总线(ListActivatableNames和服务器的自动启动)(附代码)
linux 进程间通信 dbus-glib实例详解三(下) 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象object) 等 )(附代码)