No meu script bash do Linux, quero aguardar um dos seguintes eventos:
- A bandeja da unidade de DVD foi fechada pelo usuário,
ou
- DVD gravável foi inserido na unidade.
Infelizmente todos os comandos para verificar a mídia na unidade primeiro fecham a bandeja e eunão quero fazer isso- deveriacontinua abertoe aguarde a inserção do DVD pelo usuário.
Você poderia me aconselhar como fazer isso?
Responder1
Isso é altamente específico da plataforma. O que você pode precisar fazer é (a) analisar /var/log/messages
eventos ascpi ou (b) dependendo da plataforma,monitorar DBUS para mudanças. Quando você abre e fecha a bandeja, são gerados eventos que podem ser detectados, mas isso pode ser mais problemático do que vale a pena. Independentemente disso, o método DBUS funcionará imediatamente para distros populares como Fedora e Ubuntu.
Boa sorte; Estou definitivamente interessado em ver como isso acontece!
EDITAR: Encontrei umboa postagem no blog que faz isso em Python,mas como o DBUS foi projetado para ser independente de aplicativos, você pode usar alguns dos valores da página.
Responder2
Consegui resolver o problema usando:
udisks --show-info $1 |grep -c "blank: *1"
Verifica se a mídia inserida está em branco, sem fechar a bandeja.