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

3

No meu script do Linux, eu quero esperar por um dos seguintes eventos:

  • A bandeja da unidade de DVD foi fechada pelo usuário,

ou

    O DVD gravável
  • foi inserido na unidade.

Infelizmente todos os comandos para verificar a mídia na unidade primeiro fecham a bandeja e eu não quero fazer isso - ela deve permanecer aberta e esperar que o DVD seja inserido pelo usuário.

Poderia, por favor, me aconselhar como fazer isso?

    
por Arek 24.12.2010 / 12:26

2 respostas

2

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.

    
por 21.03.2011 / 11:38
2

Isso é altamente específico da plataforma. O que você pode precisar fazer é (a) parse /var/log/messages para eventos ascpi, ou (b) dependendo da plataforma, monitore o 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 seu valor. Independentemente disso, o método DBUS funcionará para distros populares como o Fedora e o Ubuntu.

Boa sorte; Estou definitivamente interessado em ver como isso acontece!

EDIT: Encontrou uma boa postagem no blog que faz isso do Python, mas como o DBUS é projetado para ser independente de aplicativos, você pode usar alguns dos valores da página.

    
por 24.12.2010 / 16:49