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通信图
总结
。