Espere a que se cierre la bandeja o se inserte un CD en blanco en el script bash

Espere a que se cierre la bandeja o se inserte un CD en blanco en el script bash

En mi script bash de Linux quiero esperar uno de los siguientes eventos:

  • El usuario cerró la bandeja de la unidad de DVD,

o

  • Se insertó un DVD grabable en la unidad.

Desafortunadamente, todos los comandos para verificar los medios en la unidad primero cierran la bandeja y yono quiero hacer eso- deberíapermanecer abiertoy espere a que el usuario inserte el DVD.

¿Podrías aconsejarme cómo hacerlo?

Respuesta1

Esto es muy específico de la plataforma. Lo que quizás deba hacer es (a) analizar /var/log/messageseventos ascpi o (b) según la plataforma,monitorear DBUS para cambios. Cuando abres y cierras la bandeja, se generan eventos que pueden detectarse, pero esto puede ser más problemático de lo que vale. De todos modos, el método DBUS funcionará para distribuciones populares como Fedora y Ubuntu desde el primer momento.

Buena suerte; ¡Definitivamente estoy interesado en ver cómo resulta esto!

EDITAR: Encontré unbuena publicación de blog que hace esto desde Python,pero dado que DBUS está diseñado para ser independiente de la aplicación, puede usar algunos de los valores de la página.

Respuesta2

Logré resolver el problema usando:

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

Comprueba si el medio insertado está en blanco, sin cerrar la bandeja.

información relacionada