Minutos depois de postar isso, achei o que estava procurando com a ajuda de sudo lshw
. Neste computador, as informações do dispositivo para a unidade de CD-ROM / DVD-ROM estão localizadas em /sys/bus/scsi/devices/0:0:0:0
. Parece que posso obter o status do dispositivo com cat /sys/bus/scsi/devices/0:0:0:0/device_busy
.
Editar:
Eu descobri device_busy
sozinho não é útil. O bit ocupado 1
parece estar definido apenas quando o disco está realmente ativo (daí o nome do arquivo). Portanto, quando houver um disco na unidade e ele não estiver ocupado, cat device_busy
retornará 0
. Eu precisaria de informações adicionais para que meu script ejetasse corretamente o disco quando não estivesse ocupado. Parece difícil distinguir entre o disco na unidade mas não está ativo 0
e nenhum disco na unidade 0
. Eu esperava que houvesse um arquivo chamado drive_status
que gerasse ejected
ou not ejected
.
Eu poderia pegar o código de saída do comando cp -rf
(ou ls
quando a unidade estiver aberta) e usar esse e o arquivo device_busy
para determinar quando ejetar o disco e solicitar que o usuário insira um novo. Isso parece um pouco hacky para mim, no entanto.