desativar botão cd / dvd no laptop linux (ubuntu)


11

Meu todler está continuamente pressionando o botão cd / dvd e tentando destruir a bandeja. Eu sei que deveria ser possível deixar sua vida mais difícil, desativando o botão de ejeção. Como fazer isso? Este é o linux do ubuntu (não deve importar). Veja também a questão relacionada .

E o mesmo que este, mas no Windows

EDIT: este é Hardy


1
Isso me lembra um vídeo de alguém que tinha um script que ejetava e fechava continuamente a unidade de disco. Havia uma corda conectando a bandeja do disco ao balancim de um bebê. E a unidade de CD acabou com o bebê!
21416 Jonno_FTW

@ Jonno_FTW: Uma história semelhante vem do site ubuntuusers alemão. Alguém criou um 'benchmark' para medir com que frequência a unidade poderia abrir e fechar em um minuto. Escusado será dizer que alguém descobriu como fazer isso via rede e se divertiu no trabalho.
Bobby

Respostas:


5

Isso é bom, ele funciona muito bem (o código não é robusto, mas posso melhorar isso sozinho, se eu nunca mais vai precisar)
Davide

Isso não está funcionando no Fedora 19. Usando um laptop Thinkpad T410.
Slm 12/12

Não funcionou inicialmente no Ubuntu, mas não vi a atualização para a postagem (procure por "UPDATE1 03.Jan.2013", que tinha uma correção que fazia a solução vinculada, funcione novamente, então não perca esse comentário quando
tentar

12

Na linha de comando:

eject -i 1

Para retornar ao normal:

eject -i 0

Ou você pode ejetar o software usando:

eject

Em todos os casos, você pode adicionar um nome de dispositivo se tiver mais de um dispositivo ejetável.

Aparentemente, isso não funciona com todas as versões do ejetar. Caso contrário, você pode ignorar a ejeção completamente e fazê-lo da maneira "difícil":

echo 1 | sudo tee /proc/sys/dev/cdrom/lock

Obrigado, mas não funciona para o meu sistema operacional: $ eject -i 1 eject: opção inválida - i $ eject --version eject versão 2.1.5 por Jeff Tranter (tranter@pobox.com)
Davide

Grrr, os comentários não alinham o snippet de código corretamente e não podem ser editados! Deixe-me tentar novamente: $ eject -i 1resultados em eject: invalid option -- i- e você deve ser capaz de descobrir a versão do outro comentário
Davide

Esquisito. $ eject -i 1funciona bem para mim em Karmic. Versão 2.1.5.
Regan

1
Se você quiser fazer da maneira mais difícil, então <code> <pre> sudo echo 1 & gt; / proc / sys / dev / cdrom / lock </pre> </code> funcionará com qualquer versão do eject, porque você não está usando o eject.
18710 gorila

@gorilla, você deve acrescentar que, como a sua própria resposta ..
quack quixote

2

O montador automático padrão do Ubuntu não bloqueia a tentativa de CD / DVD quando monta um disco inserido. Mas se você montar o disco manualmente (por exemplo, com sudo), a bandeja deverá travar e permanecer travada até você desmontar o disco.

Portanto, esse processo realizaria o que você deseja, sem desabilitar outras funcionalidades, e você pode até criar um script para acesso rápido:

  1. Insira um disco,
  2. Corra sudo umount /media/cdrom, então
  3. Corre sudo mount /dev/cdrom /media/cdrom

Obviamente, substitua esses caminhos e dispositivos pelos que o seu sistema usa.


Funciona, mas é inconveniente (na verdade eu sabia disso). Obrigado pela resposta, de qualquer maneira.
584 Davide #

2

Um usuário deixou um comentário em outra pergunta. O comentário deveria ter sido uma resposta separada. Estou escrevendo sua sugestão aqui, pois ela pode funcionar para alguém (não em Hardy Haron) e pode ser mais conveniente do que instalar o código da minha pergunta aceita.

Trancar:

sudo bash -c 'echo 1 > /proc/sys/dev/cdrom/lock'

Desbloquear:

sudo bash -c 'echo 0 > /proc/sys/dev/cdrom/lock'

É claro que pequenos scripts de shell, possivelmente vinculados a partir do painel, seriam usados.


Existe um serviço que precise ser reiniciado para que isso funcione? Minha unidade ainda está abrindo quando pressiono o botão de ejeção.
precisa saber é o seguinte

@CauselessEffect como eu escrevi isso nunca funcionou para mim
Davide

1

Você pode experimentar o cdctl. Está disponível aqui: http://cdctl.sourceforge.net/ . Essa opção realizará o que você deseja.

       -oS, --lockdoor=S
          Locks the eject button so the disc cannot be manually ejected.  Requires  kernel  ver‐
          sion 2.2.4 or newer.  Set S to 0 to unlock the drive, and to 1 to lock it.

Eu usei isso nos últimos 10 anos no Fedora, RHEL, CentOS, mas o pacote está disponível como um tarball e deve ser compilável no Ubuntu. NOTA: O pacote não foi atualizado há algum tempo, mas funciona bem. Existe um patch disponível no site do gentoo que corrige um pequeno problema para que possa ser compilado com kernels mais recentes. O patch está disponível aqui:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/files/cdctl-0.15-cdc_ioctls.patch?revision=1.1

Depois de instalá-lo, você pode usar o comando para bloquear a bandeja do CD:

cdctl -o1

Para desbloquear a bandeja:

cdctl -o0

Recentemente reembalei o cdctl para uso no Debian / Ubuntu 12.10. Está disponível aqui, http://www.lamolabs.org/blog/wp-content/uploads/2011/01/cdctl_0.15-1.lamolabs.1_amd64.deb


Não se baseia na versão mais recente do Ubuntu para mim. Precisa deste patch no gentoo: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/… . Sério, por que se preocupar com uma ferramenta que não aceita um patch tão simples como esse?
dgrant

Uhh, porque é a única ferramenta que encontrei que faz o que eu preciso. Além da aplicação do patch não ser tão importante, eu mantenho uma versão compilada disso no meu repositório yum aqui: lamolabs.org/yum-repos/Fedora/14/x86_64/… . Você não pode usar meu rpm diretamente, mas pode convertê-lo usando o aplicativo alien, addictivetips.com/ubuntu-linux-tips/… .
SLM
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.