сценарий триггера на открытом или завершении CD-привода

Я нашел несколько вопросов/ответов о том, как открывать/извлекать/монтировать CD-ROM / диск. Но я после чего-то еще: Я хотел бы запустить скрипт каждый раз, когда CD-привод или закрывается или открывается, не имеет значения, если существует CD внутри или нет, ни если это открыто или закрывается, в основном я просто должен соединить своего рода обработчик событий для» вниз / «события кнопки CD-привода.

1
задан 19 September 2018 в 11:28

1 ответ

Единственное решение, которое я нашел до сих пор, состоит в том, чтобы постоянно опрашивать диск относительно своего состояния с ioctl. Посмотрите там команда, которая обнаруживает, если секция CD открыта или закрыта? Важно закрыть и вновь открыть дескриптор файла на каждом опросе; иначе Вы не смогли монтировать CD или вставленный DVD. YMMV, и я - newb, таким образом, существует, вероятно, лучший путь. На моем поле RHEL 7 с DVD-приводом USB я вижу, что состояние диска изменяется на 2 (CDS_TRAY_OPEN), когда лоток открыт и кратко 3 (CDS_DRIVE_NOT_READY) при закрытии прежде, чем измениться на 1 (CDS_NO_DISC) или 4 (CDS_DISC_OK).

У меня были большие надежды на udev, но с моим диском я только видел события для добавления или удаления диска или открытия лотка, когда это содержало диск или закрытие лотка. Я не видел события для открытия пустого лотка. Можно попытаться работать udevadm monitor и посмотрите, получаете ли Вы события для открытия или закрытия Вашего лотка. Раз так можно сделать правила udev запустить скрипт, когда те события происходят: https://opensource.com/article/18/11/udev Все мое тестирование был на RHEL 7, очень жаль если какой-либо из него не важен для Ubuntu 18.04.

0
ответ дан 7 December 2019 в 23:12

Другие вопросы по тегам:

Похожие вопросы: