Como posso acessar as informações de status da unidade óptica?

1

Eu posso obter o status de um monitor conectado com: cat /sys/class/drm/card0-HDMI-A-1/status

Existe algo análogo para unidades ópticas? Eu olhei em volta em / sys / mas não consegui encontrar nada que se parecesse com informações do dispositivo para o drive de cdrom (sr0).

Eu quero escrever um script que determine se a unidade terminou de copiar, para ejetar o disco e depois copiar o conteúdo assim que um novo disco for inserido na unidade.

    
por Andy Forceno 31.03.2016 / 13:00

1 resposta

2

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.

    
por 31.03.2016 / 13:05