Wie deaktiviere ich die Auswurftaste für das optische Laufwerk eines Laptops und ordne das Auswerfen einer Tastenkombination zu?

8

Hinweis: Die Antwort wurde jetzt aktualisiert und funktioniert nun unter 19.04

Ich bin am 14.04. Und öffne versehentlich mein CD / DVD / Blu-ray-Laufwerk ungefähr 20 Mal am Tag. Ich habe mir hier einige Fragen angesehen, die keine funktionierende Lösung lieferten.

Sowohl diese als auch diese Frage scheinen veraltet zu sein - die angebotene Lösung funktioniert nicht.

Wenn ich das tue, eject -i onwerde ich getroffeneject: unable to find or open device for: 'cdrom'

Wenn ich das tue, eject -i on /dev/sr0bekomme ich eine günstigere Antwort: CD-Drive may NOT be ejected with device buttonAllerdings ist die Schaltfläche leider immer noch aktiviert.

Die Informationen von /proc/sys/dev/cdrom/infolegen nahe, dass das Sperren möglich ist:

CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:             sr0
drive speed:            24
drive # of slots:       1
Can close tray:         1
Can open tray:          1
Can lock tray:          1
Can change speed:       1
Can select disk:        0
Can read multisession:  1
Can read MCN:           1
Reports media changed:  1
Can play audio:         1
Can write CD-R:         1
Can write CD-RW:        1

Diese Antwort enthält eine funktionierende Lösung, die eine UDEV-Regel korrigiert, um das Sperren des Laufwerks zu ermöglichen. Ich habe der Lösung einige praktische Informationen hinzugefügt, die Folgendes ermöglichen:

  • Deaktivieren Sie die Auswurftaste für die Hardware des optischen Laufwerks beim Start
  • Fügen Sie eine Tastenkombination hinzu, um das optische Laufwerk auszuwerfen
  • Stellen Sie sicher, dass das Laufwerk nach dem Aufwachen aus dem Suspend gesperrt bleibt
Insperatus
quelle
1
es funktioniert für mich. Haben Sie die udev-Regeln mit "udevadm control --reload-rules" neu geladen?
SolsTiCe

Antworten:

11

Aktivieren Sie das Sperren des Laufwerks

(Hinweis: Wenn dies eject -i onbereits funktioniert, können Sie mit "Sperren des Laufwerks beim Start" fortfahren.)

Kopieren Sie zunächst /lib/udev/rules.d/60-cdrom_id.rulesnach /etc/udev/rules.d/Belieben:

cp /lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/

Bearbeiten Sie als Nächstes /etc/udev/rules.d/60-cdrom_id.rules und kommentieren Sie die problematische Zeile aus:

sudoedit /etc/udev/rules.d/60-cdrom_id.rules

Suchen Sie diese Zeile:

ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"

#Fügen Sie nun ein (dies "kommentiert" die Zeile aus, wodurch sie effektiv gelöscht wird, ohne sie zu löschen) vor, damit sie so aussieht:

# ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"

Speichern und schließen Sie nun, indem Sie Ctrl+ drücken X, dann Ybestätigen und anschließend Enterden aktuellen Dateinamen akzeptieren. Machen Sie sich keine Sorgen, dass es sich um einen seltsamen temporären Dateinamen handelt. So funktioniert sudoedit.

Jetzt sollten Sie in der Lage sein, die Hardwaretaste des optischen Laufwerks (im Wesentlichen sperren wir das Laufwerk) folgendermaßen zu deaktivieren:

eject -i on /dev/sr0~ oder ~ eject -i 1 /dev/sr0Sie machen das Gleiche.


Sperren Sie das Laufwerk beim Start

Um dies nützlicher zu machen, wollte ich, dass dieser Befehl beim Start wirksam wird. Ich habe das GUI-Programm "Startup Applications" (in Ubuntu vorinstalliert, finde es mit Dash) verwendet, um dies zu erreichen.

Öffnen Sie das Programm und klicken Sie auf die Schaltfläche "Hinzufügen". Ein neues Dialogfeld wird geöffnet.

Geben Sie einen Namen ein (ich habe das beschreibende "Optisches Laufwerk sperren" verwendet) und geben Sie in das Feld "Befehl:" ein bash -c 'eject -i on /dev/sr0'

Klicken Sie auf "Hinzufügen", um das Programm abzuschließen und dann zu schließen.


Fügen Sie eine Tastenkombination hinzu

Jetzt ist das optische Laufwerk beim Start gesperrt. Aber wie öffne ich das Laufwerk, wenn ich es verwenden muss?! Um es einfach zu machen, habe ich die Befehle in eine Tastenkombination "Auswerfen" eingefügt, mit der das Laufwerk entsperrt, das Laufwerk ausgeworfen und das Laufwerk erneut gesperrt wird. Auf diese Weise kann ich immer noch leicht auf das Laufwerk zugreifen, aber die Hardware-Taste ist nie ein Problem.

So führen Sie diese Tastenkombination aus:

  • Öffnen Sie das Programm "Tastatur" im Dash.
  • Klicken Sie auf die Registerkarte "Verknüpfungen"
  • Klicken Sie unten in der Liste auf "Benutzerdefinierte Verknüpfungen"
  • Klicken Sie auf das "+" - Zeichen. Ein neues Dialogfeld wird geöffnet
  • Nennen Sie die Verknüpfung (ich habe "CD entsperren, auswerfen, erneut sperren").
  • Geben Sie dies in das Feld "Befehl:" ein:

    bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
    
  • Klicken Sie auf "Übernehmen"

  • Klicken Sie rechts neben dem Namen Ihrer Verknüpfung auf "Deaktiviert". Sobald Sie darauf klicken, ändert sich "Deaktiviert" in "Neuer Beschleuniger":

    Drücken Sie die Tastenkombination, die Sie verwenden möchten. Ich habe Ctrl+ Alt+ benutztE

Sie können die Verknüpfung dann sofort testen. Wenn alles in Ordnung ist und Sie fertig sind!


Sperren des Laufwerks beim Aufwecken aus dem Suspend (Methode vor dem System)

Ich habe festgestellt, dass mein Laufwerk nach dem Fortsetzen von Suspend wieder entsperrt wird. Daher habe ich ein Skript erstellt, um sicherzustellen, dass das Laufwerk in diesem Fall gesperrt bleibt.

Erstellen Sie die Skriptdatei:

sudoedit /usr/lib/pm-utils/sleep.d/99lock-optical

Fügen Sie Folgendes in die neue Datei ein:

#!/bin/sh
# lock the optical drive upon resume from suspend

case "${1}" in
    resume|thaw)
        eject -i 1 /dev/sr0    
;;
esac

Laufwerk beim Aufwecken vom Suspend sperren (systemd-Methode)

Ich verwende jetzt 19.04 und habe festgestellt, dass mein Laufwerk beim Fortsetzen der Unterbrechung entsperrt wurde. Diese Methode sorgt dafür, dass es gesperrt bleibt:

Erstellen Sie die Skriptdatei:

sudoedit /lib/systemd/system-sleep/00start_my_connection

Fügen Sie Folgendes in die neue Datei ein:

 #!/bin/sh
 if [ $1 = post ]
 then eject -i 1 /dev/sr0
 fi

Speichern und schließen und fertig!

Insperatus
quelle
Gut! (Und keine Notwendigkeit für alberne Life-Hacks! Ausgezeichnet! ) Soll ich den mit der Stecknadel löschen?
Fabby
1
Vielen Dank! Es ist in Ordnung für mich, es Leuten zu überlassen, die keine andere Lösung haben. Es ist eine andere ganze Bedeutung von "Hack" :)
Insperatus
Anscheinend setzt das Anhalten das Laufwerk zurück und entsperrt es erneut.
Insperatus
Es gibt ein sogenanntes "Suspend / Wake-Skript", das beim Suspendieren / Aufwachen aufgerufen wird. Ich schlage vor, dass Sie dort auch Ihre Lösung hinzufügen (ich habe nicht den absoluten Pfad zum Skript zur
Hand
1
Ja, das habe ich auch vermutet. Überprüfen Sie hier und hier nach Lösungen.
Insperatus
1

Für mich helfen Informationen hier: https://bugs.launchpad.net/ubuntu/+source/eject/+bug/885051/comments/6

Ich habe die Datei im Verzeichnis / lib / bearbeitet , nicht in / etc /. Jetzt funktioniert mein Ubuntu 14.04-Befehl: eject -i 1 / dev / sr0

Dima
quelle
Leider funktioniert das bei mir nicht.
Insperatus
arbeitete für mich (Ubuntu 14.04 auf einem ThinkPad T420, bearbeitete die lib-Datei, wie Gonzo auf Launchpad vorgeschlagen)
Mondjunge
Eigentlich habe ich die Verzeichnisstruktur vermasselt, Sie waren mit dieser Antwort auf dem richtigen Weg!
Insperatus
1

Wenn alle Stricke reißen:

Nehmen Sie eine Nadel (keine Nadel, da Sie sich verletzen könnten), drücken Sie sie fest hinter den Knopf am DVD-Laufwerk und ziehen Sie den Knopf als Hebel heraus. Nehmen Sie dann ein kleines Stück Plastik, das 1 mm breiter und größer als das resultierende Loch ist, kleben Sie etwas Superkleber darauf und kleben Sie es auf das Loch. Achten Sie darauf, dass Sie es nicht über das winzige Loch daneben legen .

Verwenden Sie von nun an die folgenden zwei Methoden, um das DVD-Laufwerk zu öffnen:

  1. Verwenden Sie das Ubuntu "Eject" durch den Bindestrich
  2. Behalten Sie diesen Life-Hack-Pin von nun an um Ihren PC und schieben Sie ihn in das winzige Loch neben Ihrem Plastikstück, um die DVD auszuwerfen, wenn Ihr Laptop ausgeschaltet ist. (Befestigen Sie den Life-Hack-Stift mit einem Stück Klebeband an der Unterseite Ihres Laptops.)
Fabby
quelle
1
Die Zerstörung meines CD-ROM-Laufwerks ist jedoch nicht das, was ich als Antwort auf die SOFTWARE-Sperre des Fachs erwarten würde! Vorher nahm ich sogar ein kleines Stück Pappe, schnitt ein Loch in Form des Knopfes hinein und klebte es über den Auswurfknopf, damit es nicht versehentlich ausgelöst wird, z. B. mit dem Knie.
Byte Commander
@ByteCommander: Deshalb gibt es als Titel das riesige "Wenn alles andere fehlschlägt". Darüber hinaus hat das Originalplakat bereits zum Lachen gebracht und bereits positiv bewertet. Ich denke jedoch, dass Ihr Life-Hack auch eine Antwort wert ist! Wenn du es als Antwort postest, bekommst du 2 Upvotes!
Fabby
Netter Gedanke, aber ich kann es nicht konvertieren und ich möchte es nicht noch einmal schreiben. Wenn es jemandem hilft, ist es okay. Und Sie können auch Kommentare positiv bewerten. Übrigens, woher möchten Sie wissen, dass Sie Ihre Stimme vom Fragenplakat erhalten haben?
Byte Commander
@ByteCommander: Upvoting-Kommentare bringen dir allerdings keinen Repräsentanten. Ich stimme einem Kommentar nur zu, wenn ich keinen weiteren Kommentar hinterlasse. Es ist wie ein Klaps auf den Rücken. Und ein zusätzlicher Kommentar ist wie eine große Umarmung! > :)
Fabby
@ByteCommander: Normalerweise weiß man nicht, wer hoch / runter stimmt, aber ich habe gesehen, wie das Upvote eingegangen ist, bin zur Frage gegangen, bin zur OP-Benutzerseite gegangen und habe "letzte Aktivität: 1 min" gesehen. Also folgerte ich, dass es er / sie / es war und es gab mir auch ein Lächeln.
Fabby
0

Versuchen Sie dies, damit die Schaltfläche nicht ausgeworfen wird:

  1. Öffnen Sie: Systemeinstellungen > Tastatur > Verknüpfungen > Sound und Medien

  2. Wählen Sie "Auswerfen" und löschen Sie die Verknüpfung (durch Drücken von "Rücktaste").

Sie können die Verknüpfungseinstellungen verwenden, um stattdessen etwas Nützlicheres zu tun, z. B. eine häufig verwendete Anwendung öffnen, den Bildschirm sperren oder das WLAN zurücksetzen.


Quelle:

Ich habe ein MacBook Pro mit 14.04 und die Auswurftaste befindet sich direkt über Löschen / Rücktaste, wodurch es leicht versehentlich gedrückt werden kann (es ist schlimmer für MacBooks ohne Laufwerke, bei denen diese Taste stattdessen für die Stromversorgung ist). Verwendete die Verknüpfungseinstellungen, um die Auswurftaste stattdessen für meinen Laptop zu sperren. Habe diese Lösung seit 12.04 und alles dazwischen benutzt.

maki57
quelle
Dies hat bei mir nicht funktioniert, da ich die Taste auf dem tatsächlichen Laufwerk und nicht eine Tastaturtaste drücke.
Insperatus
0

Auf dieser Seite habe ich diesen Vorschlag gefunden, wenn er eject -i 1nicht funktioniert:
sudo echo 1 > /proc/sys/dev/cdrom/lockSperren (0 statt 1 zum Entsperren)
Es gibt auch einige andere Optionen, die besprochen werden.

Hier ist ein kurzer C-Quellcode, der eine andere Option ausführt: Link (beachten Sie den Bugfix für neuere Versionen in den oberen Kommentaren!)

Aber ich habe in einigen anderen Foren gelesen, dass all diese Auswurfbefehle den Sperrstatus des Laufwerks nur ändern, wenn eine Festplatte eingelegt und gemountet wird. Die einzige Lösung scheint ein Tool namens zu sein cdctl, aber es ist nicht sehr kompatibel mit vielen Systemen, da ich die Kommentare studiert habe.

Byte Commander
quelle