Aguarde a bandeja fechada ou o CD em branco inserido no script bash

Aguarde a bandeja fechada ou o CD em branco inserido no script bash

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/messageseventos 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.

informação relacionada