Назад | Перейти на главную страницу

Дождитесь закрытия лотка или вставки пустого компакт-диска в сценарий bash

В моем сценарии linux bash я хочу дождаться одного из следующих событий:

или

К сожалению, все команды для проверки носителя в приводе сначала закрывают лоток, и я не хочу этого делать - должно оставайся открытым и дождитесь, когда DVD вставит пользователь.

Не могли бы вы посоветовать мне, как это сделать?

Мне удалось решить проблему с помощью:

udisks --show-info $1 |grep -c "blank: *1"

Он проверяет, является ли вставленный носитель пустым, не закрывая лоток.

Это сильно зависит от платформы. Что вам может потребоваться, это либо (а) разобрать /var/log/messages для событий ascpi или (б) в зависимости от платформы, отслеживать изменения в DBUS. Когда вы открываете и закрываете лоток, генерируются события, которые можно обнаружить, но это может быть больше проблем, чем того стоит. В любом случае, метод DBUS будет работать для популярных дистрибутивов, таких как Fedora и Ubuntu, из коробки.

Удачи; Мне определенно интересно посмотреть, как это получится!

РЕДАКТИРОВАТЬ: нашел хороший пост в блоге, который делает это из Python, но поскольку DBUS не зависит от приложений, вы можете использовать некоторые значения со страницы.