当用户在 Linux 平台上插入或移除 CD 时,是否有一种干净的方法来检测或接收事件?
问问题
4468 次
3 回答
3
Udev 监控硬件并将事件转发到 dbus。你只需要一些 dbus 监听器。使用 dbus-monitor 工具进行的快速检查在我的系统中显示了这一点:
dbus-监视器--系统
signal sender=:1.15 -> dest=(null destination) serial=144 path=/org/freedesktop/UDisks; interface=org.freedesktop.UDisks; member=DeviceChanged
object path "/org/freedesktop/UDisks/devices/sr0"
这是来自 Udisks 的 DeviceChanged 事件,包含设备路径。
因此,无论您想要什么支持 dbus 绑定的编程语言,您都可以监听那些(系统总线)事件。
于 2011-02-25T04:00:10.890 回答
0
我能找到的最好的方法是 Halevt。Halevt 显然是比直接使用 HAL 更高级别的抽象。它使用基于 XML 的配置文件,您可能喜欢也可能不喜欢。配置文件属性文档有些欠缺。此处列出了所有受支持的属性的列表:
http://www.marcuscom.com/hal-spec/hal-spec.html
此外,Halevt 的链接:http ://www.nongnu.org/halevt/
于 2011-03-18T21:43:44.873 回答