dbus-monitor 中的'sender=:1.478' 是啥意思?

Posted

技术标签:

【中文标题】dbus-monitor 中的\'sender=:1.478\' 是啥意思?【英文标题】:What is the meaning of 'sender=:1.478' in dbus-monitor?dbus-monitor 中的'sender=:1.478' 是什么意思? 【发布时间】:2021-11-17 20:15:54 【问题描述】:

现在我正在分析 Chromium OS (Chrome OS) 中的 d-bus。 当我在登录 UI 上按下“guest”按钮时,我捕获了有意义的 d-bus 方法调用(如下)。

my-cros # dbus-monitor --system "path=/org/chromium/Session Manager"

method call time=1632311881.319994 sender=: 1.478 -> destination=org.chromium. SessionManager serial=378 path=/org/chromium/Session Manager; interface=org.chromium.SessionManager Interface: member=LoadShil1Profile 
string "$guest"

method call time=1632311881.319417 sender:1.478 -> destination=org. chromium. Session Manager serial=371 path=/org/chromium/SessionManager; interface=org.chromium.SessionManager Interface: member-SetFeatureFlagsFor User string "$guest"
array [
]
array [
]

我知道 org.chromium.SessionManager 是启动访客/google-id 会话的人。 顺便说一句,'sender=:1.478' 是什么意思? 以及如何跟踪发送者进程?

提前谢谢你。

【问题讨论】:

【参考方案1】:

首先,您可能会发现使用Bustle 而不是dbus-monitor 更容易可视化正在发生的事情。

sender=:1.478 表示您正在查看的消息是由总线上具有唯一 ID :1.478 的连接发送的。到总线的每个连接(粗略地说,每个进程,尽管一个进程实际上可以有多个连接)都有一个唯一的 ID,并且一些连接也有看起来像反向 DNS 名称的“知名”ID。例如org.chromium.SessionManager

您可以通过查找与其他消息的发件人或目的地相同的唯一 ID 来跟踪发件人进程。使用 Bustle 将使这更容易,因为它可以按发件人/目的地对消息进行分组和过滤。

【讨论】:

你能推荐除 Bustle 之外的其他工具吗? 我不知道其他人。 没有工具可以获取连接 ID 的 pid(反之亦然)? D-Feet 将显示所有当前连接到总线的详细信息。

以上是关于dbus-monitor 中的'sender=:1.478' 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从 dbus-monitor 输出中排除某些接口/地址?

DBus-monitor 监视蓝牙活动

在 Gnome 中,dbus-monitor 上的啥信号表明用户正在注销?

dbus-monitoring 循环自动退出

监听 dbus 信号

Delphi中的Sender:TObject对象解析