Какой самый простой способ обнаружить удаление / вставку носителя CDROM в Linux - PullRequest
4 голосов
/ 11 июля 2011

Какой самый простой способ обнаружить удаление и вставку носителя CDROM в Linux? Я хочу написать простой код, чтобы справиться с этим. Например, просто привяжите событие для вставки носителя и реализуйте обработчик.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 11 июля 2011

Попробуйте man udev или man hotplug.

1 голос
/ 11 июля 2011

У настольных «стандартов» есть опции для этого.

Например, я думаю, что 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

0 голосов
/ 11 июля 2011

Самый простой способ из пользовательского пространства - получить выходные данные команды mount при условии, что вы настроили CDROM для автоматического монтирования (в /etc/fstab). Но если вы хотите получить асинхронное уведомление, вам может понадобитьсяв правила и события udev.

...