désactiver le bouton cd / dvd sur un ordinateur portable linux (ubuntu)

11

Mon tout-petit appuie continuellement sur le bouton cd / dvd et essaie de détruire le plateau. Je sais qu'il devrait être possible de lui laisser la vie plus difficile, en désactivant le bouton d'éjection. Comment faire ça? C'est ubuntu (ne devrait pas avoir d'importance) Linux. Voir aussi cette question connexe .

Et le même que celui-ci, mais sur les fenêtres

EDIT: c'est Hardy

Davide
la source
1
Cela me rappelle une vidéo de quelqu'un qui avait un script qui éjectait et fermait continuellement le lecteur de disque. Il y avait une ficelle reliant le plateau de disque à la bascule d'un bébé. Et le lecteur de CD vient de bercer le bébé!
Jonno_FTW
@Jonno_FTW: Une histoire similaire vient du site ubuntuusers allemand. Quelqu'un a créé une «référence» pour mesurer la fréquence d'ouverture et de fermeture du lecteur en une minute. Inutile de dire que quelqu'un a compris comment le faire via le réseau et s'est amusé au travail.
Bobby

Réponses:

5

Vous voudrez peut-être essayer ceci ...

http://www.poweradded.net/2009/09/cddvd-tray-lockunlock-under-linux.html

baumgart
la source
C'est bien, cela fonctionne plutôt bien (le code n'est pas robuste, mais je peux l'améliorer moi-même, si je n'en ai jamais besoin)
Davide
Cela ne fonctionne pas dans Fedora 19. Utilisation d'un ordinateur portable Thinkpad T410.
slm
Cela n'a pas fonctionné au début dans Ubuntu mais je n'ai pas vu la mise à jour du message (recherchez "UPDATE1 03.Jan.2013" qui avait un correctif qui a lié la solution à, travaillez à nouveau donc ne manquez pas ce commentaire en lui donnant un coup de feu
Björn
12

Sur la ligne de commande:

eject -i 1

Pour revenir à la normale:

eject -i 0

Ou vous pouvez éjecter le logiciel en utilisant:

eject

Dans tous les cas, vous pouvez ajouter un nom de périphérique si vous disposez de plusieurs périphériques éjectables.

Apparemment, cela ne fonctionne pas avec toutes les versions d'éjection. Si ce n'est pas le cas avec le vôtre, vous pouvez contourner complètement l'éjection et le faire de la manière "difficile":

echo 1 | sudo tee /proc/sys/dev/cdrom/lock
gorille
la source
Merci, mais cela ne fonctionne pas pour mon système d'exploitation: $ eject -i 1 eject: option invalide - i $ eject --version eject version 2.1.5 par Jeff Tranter ([email protected])
Davide
Grrr, les commentaires n'alignent pas correctement l'extrait de code et ne peuvent pas être modifiés! Permettez-moi d'essayer à nouveau: les $ eject -i 1résultats eject: invalid option -- i- et vous devriez être en mesure de comprendre la version de l'autre commentaire
Davide
Bizarre. $ eject -i 1fonctionne bien pour moi dans Karmic. Version 2.1.5.
regan
1
Si vous voulez le faire à la dure, alors <code> <pre> sudo echo 1 & gt; / proc / sys / dev / cdrom / lock </pre> </code> fonctionnera avec n'importe quelle version de eject, car vous n'utilisez pas eject.
gorille
@gorilla, vous devez ajouter cela comme votre propre réponse ..
Quack Quichotte
2

Le monteur automatique par défaut d'Ubuntu ne verrouille pas la tentative de CD / DVD lorsqu'il monte un disque inséré. Mais si vous montez le disque manuellement (par exemple, avec sudo), le plateau doit se verrouiller et rester verrouillé jusqu'à ce que vous démontiez le disque.

Donc, ce processus accomplirait ce que vous voulez, sans désactiver d'autres fonctionnalités, et vous pourriez même le scripter pour un accès rapide:

  1. Insérez un disque,
  2. Courez sudo umount /media/cdrom, puis
  3. Courir sudo mount /dev/cdrom /media/cdrom

Évidemment, remplacez ces chemins et périphériques par ceux que votre système utilise.

Quack Quichotte
la source
Fonctionne, mais ce n'est pas pratique (en fait, je le savais). Merci pour la réponse, de toute façon.
Davide
2

Un utilisateur a laissé un commentaire sur une autre question. Le commentaire aurait dû être une réponse distincte. J'écris sa suggestion ici, car cela pourrait fonctionner pour quelqu'un (ce n'est pas le cas dans Hardy Haron) et pourrait être plus pratique que d'installer le code de ma question acceptée.

Verrouiller:

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

Déverouiller:

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

Bien sûr, de petits scripts shell, éventuellement liés depuis le panneau, seraient utilisés.

Davide
la source
Existe-t-il un service qui doit être redémarré pour que cela fonctionne? Mon lecteur s'ouvre toujours lorsque j'appuie sur le bouton d'éjection.
CauselessEffect
@CauselessEffect comme je l'ai écrit, cela n'a jamais fonctionné pour moi
Davide
1

Vous voudrez peut-être essayer cdctl. Il est disponible ici: http://cdctl.sourceforge.net/ . Ce commutateur accomplira ce que vous voulez.

       -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.

Je l'utilise depuis 10 ans sur Fedora, RHEL, CentOS mais le package est disponible sous forme de tarball et devrait être compilable sur Ubuntu. REMARQUE: le package n'a pas été mis à jour depuis un certain temps, mais il fonctionne correctement. Il y a un correctif disponible sur le site de gentoo qui corrige un petit problème afin qu'il puisse être compilé avec des noyaux plus récents. Le patch est disponible ici:

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

Une fois que vous l'avez installé, vous pouvez utiliser la commande pour verrouiller le plateau de CD:

cdctl -o1

Pour déverrouiller le plateau:

cdctl -o0

J'ai récemment reconditionné cdctl pour l'utiliser sur Debian / Ubuntu 12.10. Il est disponible ici, http://www.lamolabs.org/blog/wp-content/uploads/2011/01/cdctl_0.15-1.lamolabs.1_amd64.deb

slm
la source
Ne s'appuie pas sur la version la plus récente d'Ubuntu pour moi. A besoin de ce correctif de gentoo: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/… . Sérieusement, pourquoi s'embêter avec un outil qui ne prendra pas un patch aussi simple comme celui-ci.
Dgrant
Euh, parce que c'est le seul outil que j'ai trouvé qui fait ce dont j'ai besoin. Outre l'application du patch n'est pas si grave, je maintiens une version intégrée de cela dans mon référentiel yum ici: lamolabs.org/yum-repos/Fedora/14/x86_64/… . Vous ne pouvez pas utiliser mon rpm directement mais vous pouvez le convertir en utilisant l'application extraterrestre, addictivetips.com/ubuntu-linux-tips/… .
slm