Este é um repost de uma resposta que eu forneci à minha própria pergunta idêntica no Unix & Site Linux intitulado: Como posso desativar o botão da minha unidade de CD / DVD? .
O problema é definitivamente causado pela UDEV como você adivinhou. O problema é essa linha que está na maioria dos arquivos UDEV relacionados à unidade de cdrom.
Exemplo
No Fedora 19 existe o seguinte arquivo, /usr/lib/udev/rules.d/60-cdrom_id.rules
. Neste arquivo está a seguinte linha que está cooptando o botão de ejeção para dispositivos de CD / DVD.
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Você pode contornar o problema e desabilitar a capacidade do UDEV de cooptar o botão de ejeção fazendo o seguinte:
-
Faça uma cópia do arquivo
60-cdrom_id.rules
$ sudo cp /usr/lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/.
-
Edite a versão copiada do arquivo e comente a linha que contém a string
DISK_EJECT_REQUEST
.$ sudoedit /etc/udev/rules.d/60-cdrom_id.rules
-
Salve o arquivo e a mudança deve ser perceptível imediatamente!
A solução acima corrige o problema para eject
e cdctl
. Então agora os seguintes comandos funcionam como esperado:
bloqueia a unidade
$ eject -i on /dev/sr0
eject: CD-Drive may NOT be ejected with device button
-or-
$ cdctl -o1
desbloqueia a unidade
$ eject -i off /dev/sr0
eject: CD-Drive may be ejected with device button
-or-
$ cdctl -o0