Dbus Send与dbus Monitor命令的使用
dbus-send
获取属性值
dbus-send --print-reply --type=method_call --session --dest=com.deepin.daemon.Display /com/deepin/daemon/Display org.freedesktop.DBus.Properties.Get string:com.deepin.daemon.Display string:Primary
调用方法
- 不带参数
dbus-send --session --print-reply --type=method_call --dest=com.deepin.daemon.Display /com/deepin/daemon/Display com.deepin.daemon.Display.CanRotate
- 带参数
dbus-send --session --print-reply --type=method_call --dest=com.deepin.daemon.Display /com/deepin/daemon/Display com.deepin.daemon.Display.SetBrightness string:Virtual-1 double:1.0
dbus-monitor
dbus-monitor [--system | --session | --address ADDRESS] [--profile | --monitor | --pcap | --binary] [watch expressions]
使用手册
dbus-monitor 具有两种不同的文本输出模式:“经典”风格的监视模式和配置文件模式
配置文件模式:一种紧凑格式,每条消息只有一行,并且具有微秒分辨率的定时信息
dbus-monitor 也有两种特殊的二进制输出模式:–binary 和–pcap
--binary:二进制模式将输出整个二进制消息流 --pcap:将PCAP文件头添加到输出的开头,并为每个消息添加PCAP消息头
如果未指定任何模式,则 dbus-monitor 将使用监视输出格式。
--system 和 --session表示系统总线和会话总线,默认为--session --address ADDRESS:监视在ADDRESS处给定的任意消息总线 --profile:使用配置文件模式打印 --monitor:使用dbus-monitor模式打印
输出概要:
type:分为signal和method_call sender:消息或方法调用者 dest:消息接收或方法拥有者 interface:接口名 path:服务路径 member:方法名或属性名 replay:方法调用的返回值
监视某些系统级接口时,需要加上 sudo 权限,如监视 lastore 更新模块
sudo dbus-monitor --system "interface=com.deepin.lastore.Manager"
监视信号
dbus-monitor type='signal',sender='org.gnome.TypingMonitor',interface='org.gnome.TypingMonitor'
监视方法
dbus-monitor --session "interface=com.deepin.daemon.Display"