【问题标题】:What's the simplest way to detect CDROM media removal/insertion in Linux在 Linux 中检测 CDROM 介质移除/插入的最简单方法是什么
【发布时间】:2011-10-02 15:14:49
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: linux dbus cd-rom


    【解决方案1】:

    试试man udev,或man hotplug

    【讨论】:

      【解决方案2】:

      桌面“标准”为此提供了选项。

      例如,我认为 Gnome 为此使用 dbus:

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

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

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

      配置

      您可以让您的桌面外壳(例如 Gnome/nautilus)在发生这种情况时调用您的应用程序:

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

      非桌面

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

      http://reactivated.net/writing_udev_rules.html

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2011-07-03
          • 1970-01-01
          • 2014-01-04
          • 1970-01-01
          • 1970-01-01
          • 2019-11-28
          • 2012-10-23
          相关资源
          最近更新 更多