Ativar o bloqueio da unidade
Primeiro, copie /lib/udev/rules.d/60-cdrom_id.rules
para /etc/udev/rules.d/
da seguinte forma:
cp /lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/
Em seguida, edite /etc/udev/rules.d/60-cdrom_id.rules e comente a linha problemática:
sudoedit /etc/udev/rules.d/60-cdrom_id.rules
Localize esta linha:
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Agora, adicione um #
(isso "comenta" a linha, anulando-a efetivamente sem excluí-la) para torná-la assim:
# ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Agora salve e feche pressionando Ctrl + X , então Y para confirmar, seguido por Enter para aceite o nome do arquivo atual. Não se preocupe se ele aparecer como um estranho nome de arquivo temporário, é assim que o sudoedit funciona.
Agora você deve poder desabilitar o botão de hardware da unidade óptica (basicamente estamos travando a unidade) com isto:
eject -i on /dev/sr0
~ ou ~ eject -i 1 /dev/sr0
Eles fazem o mesmo.
Bloqueie a unidade na inicialização
Para tornar isso mais útil, eu queria que este comando tivesse efeito após a inicialização. Eu usei o programa "Startup Applications" da GUI (pré-instalado no Ubuntu, encontre-o com Dash) para fazer isso.
Abra o programa e clique no botão "Adicionar", uma nova caixa de diálogo é aberta.
Digite um nome (eu fui com o descritivo "Lock optical drive") e dentro do campo "Command:" digite bash -c 'eject -i on /dev/sr0'
Clique em "Adicionar" para concluir e, em seguida, feche o programa.
Adicionar um atalho de teclado
Agora, a unidade óptica está bloqueada na inicialização. Mas como vou abrir a unidade quando precisar usá-la? Para simplificar, coloco os comandos em um atalho de teclado de "ejeção" que desbloqueia a unidade, ejeta a unidade e, em seguida, bloqueia novamente a unidade. Dessa forma, ainda posso acessar facilmente a unidade, mas o botão de hardware nunca é um problema.
Veja como realizar esse atalho de teclado:
- Abra o programa "Teclado" encontrado no Dash.
- Clique na guia "Atalhos"
- Clique em "Atalhos personalizados" na parte inferior da lista
- Clique no sinal "+" para abrir uma nova caixa de diálogo
- Nomeie o atalho (usei "Desbloquear, Ejetar, Retocar CD")
-
Insira isso no campo "Comando:":
bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
-
Clique em "Aplicar"
-
Clique à direita do nome do seu atalho, onde está escrito "Desativado". Depois de clicar, "Disabled" muda para "New Accelerator":
Pressione a combinação de teclas que você deseja usar. Eu usei Ctrl + Alt + E
Você pode então testar o atalho imediatamente. Se tudo estiver bem perto e pronto!
Bloqueie a unidade após o Wake From Suspend
Percebi que minha unidade se tornou desbloqueada novamente após a retomada da suspensão, então criei um script para garantir que a unidade permaneça bloqueada neste caso.
Crie o arquivo de script:
sudoedit /usr/lib/pm-utils/sleep.d/99lock-optical
Cole o seguinte no novo arquivo:
#!/bin/sh
# lock the optical drive upon resume from suspend
case "${1}" in
resume|thaw)
eject -i 1 /dev/sr0
;;
esac
Salve e feche e está tudo pronto!