什么是在Linux中检测CDROM介质删除/插入的最简单方法

时间:2011-07-11 09:01:15

标签: linux dbus cd-rom

在Linux中检测CDROM介质删除和插入的最简单方法是什么?我想写一些简单的代码来处理这个问题。例如,只需绑定一个媒体插入事件并实现处理程序。

谢谢!

3 个答案:

答案 0 :(得分:2)

尝试man udevman hotplug

答案 1 :(得分:1)

桌面“标准”有此选项。

例如,我认为Gnome使用dbus:

http://www.linuxcertification.co.za/linux-training-sysfs-udev-hald-dbus

  

[..]这些应用程序主要用于桌面环境,以便在发生事件时执行任务,例如在插入USB驱动器时打开文件浏览器或插入相机时的图像应用程序。

     

例如,D-Bus用于在插入音频CD时启动媒体播放器,并通知其他应用程序当前播放的歌曲。

配置

你可以让你的桌面shell(例如Gnome / nautilus)在偶数事件发生时调用你的应用程序:

http://library.gnome.org/users/user-guide/stable/gosnautilus-61.html.en

非桌面

对于非桌面版本,man udev确实是您的朋友。关于编写udev规则的信息在这里:

http://reactivated.net/writing_udev_rules.html

答案 2 :(得分:0)

从用户空间最简单的方法是grep mount命令的输出,只要你已经为自动挂载配置了CDROM(在/etc/fstab中)。但是如果你想要一个异步通知,你可能需要看看进入udev规则和uevents。