【发布时间】:2020-09-17 08:31:27
【问题描述】:
在我的代码中,我注册以在插入 USB 设备时接收信号。
def registerSignals(self):
for signal, callback, bus, interface in (('InterfacesAdded', self.onUSBInterfaceAdded, 'org.freedesktop.UDisks2', 'org.freedesktop.DBus.ObjectManager'),
('InterfacesRemoved', self.onUSBInterfaceRemoved, 'org.freedesktop.UDisks2', 'org.freedesktop.DBus.ObjectManager'),
('PropertiesChanged', self.onUSBMountPropertiesChanged, 'org.freedesktop.UDisks2', 'org.freedesktop.DBus.ObjectManager')):
print(self.__bus.add_signal_receiver(callback,
bus_name=bus,
signal_name=signal,
dbus_interface=interface))
def onUSBInterfaceAdded(self, path, interfaces):
print(path)
print(interfaces)
def onUSBInterfaceRemoved(self, path, interfaces):
print(path)
print(interfaces)
def onUSBMountPropertiesChanged(self, interface, properties, invalidated, path):
print(path)
print(interfaces)
现在,当我运行此代码时,我收到 no 信号。问题是当我在 CLI 中运行 dbus-monitor --system 时,我确实在插入 USB 设备时看到了这些消息。知道如何调试吗?还是我在这里做错了什么?
【问题讨论】: