
Hinweis: Die Antwort wurde aktualisiert, sodass sie unter 19.04 funktioniert
Ich verwende 14.04 und öffne mein CD/DVD/Blu-ray-Laufwerk etwa 20 Mal am Tag aus Versehen. Ich habe mir hier ein paar Fragen angesehen, die keine funktionierende Lösung lieferten.
Beidediese FrageUnddiese Fragescheinen veraltet zu sein – die angebotene Lösung funktioniert nicht.
Wenn ich das tue, eject -i on
werde ich miteject: unable to find or open device for: 'cdrom'
Wenn ich das tue, eject -i on /dev/sr0
erhalte ich eine günstigere Antwort: CD-Drive may NOT be ejected with device button
Die Schaltfläche ist jedoch leider immer noch aktiviert.
Die Informationen von /proc/sys/dev/cdrom/info
lassen darauf schließen, dass eine Sperrung 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 Antworthat eine funktionierende Lösung, die eine UDEV-Regel behebt, 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 Hardware-Auswurftaste des optischen Laufwerks beim Start
- Fügen Sie eine Tastenkombination zum Auswerfen des optischen Laufwerks hinzu
- Stellen Sie sicher, dass das Laufwerk nach dem Aufwachen aus dem Ruhezustand gesperrt bleibt
Antwort1
Aktivieren der Laufwerkssperre
(Hinweis: Wenn eject -i on
es bereits funktioniert, können Sie direkt zu „Laufwerk beim Start sperren“ übergehen.)
Kopieren Sie es zunächst /lib/udev/rules.d/60-cdrom_id.rules
wie /etc/udev/rules.d/
folgt:
cp /lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/
Bearbeiten /etc/udev/rules.d/60-cdrom_id.rules
und kommentieren Sie als Nächstes die problematische Zeile:
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 davor ein #
(das „kommentiert“ die Zeile aus, macht sie also ungültig, ohne sie zu löschen) hinzu, sodass es folgendermaßen aussieht:
# ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Speichern und schließen Sie nun mit Ctrl+ X, dann Yzur Bestätigung und anschließend mit , Enterum den aktuellen Dateinamen zu akzeptieren. Machen Sie sich keine Sorgen, wenn es als seltsamer temporärer Dateiname angezeigt wird, so funktioniert sudoedit nun einmal.
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/sr0
Sie tun dasselbe.
Sperren Sie das Laufwerk beim Start
Um dies nützlicher zu machen, wollte ich, dass dieser Befehl beim Start wirksam wird. Ich habe die GUI verwendetStartup-AnwendungenProgramm (in Ubuntu vorinstalliert, mit Dash zu finden), um dies zu erreichen.
Öffnen Sie das Programm und klicken Sie dann aufHinzufügenSchaltfläche öffnet sich ein neues Dialogfeld.
Geben Sie einen Namen ein (ich habe mich für den beschreibenden Namen "Optisches Laufwerk sperren" entschieden) undBefehl:Feld eingebenbash -c 'eject -i on /dev/sr0'
KlickenHinzufügenum das Programm abzuschließen und zu schließen.
Hinzufügen einer Tastenkombination
Jetzt ist das optische Laufwerk beim Start gesperrt. Aber wie öffne ich das Laufwerk, wenn ich es brauche?! Um es einfacher zu machen, habe ich die Befehle in eine Tastenkombination „Auswerfen“ gepackt, die das Laufwerk entsperrt, auswirft und dann wieder sperrt. Auf diese Weise kann ich immer noch problemlos auf das Laufwerk zugreifen, aber die Hardwaretaste ist nie ein Problem.
So führen Sie diese Tastenkombination aus:
Öffne dasTastaturProgramm im Dash gefunden.
Drücke denVerknüpfungenTab
Klicke aufBenutzerdefinierte Verknüpfungenam Ende der Liste
Klick auf das+unterschreiben, ein neues Dialogfeld wird geöffnet
Benennen Sie die Verknüpfung (ich habe „CD entsperren, auswerfen, erneut sperren“ verwendet)
Tragen Sie diese in dasBefehl:Feld:
bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
KlickenAnwenden
Klicken Sie rechts neben dem Namen Ihrer Verknüpfung aufDeaktiviert. Sobald Sie darauf klicken,DeaktiviertÄnderungen anNeuer Beschleuniger:
Drücken Sie die Tastenkombination, die Sie verwenden möchten. Ich habe Ctrl+ Alt+ verwendet.E
Anschließend können Sie die Verknüpfung sofort testen. Wenn alles in Ordnung ist, schließen Sie und fertig!
Laufwerk nach Aufwachen aus dem Ruhezustand sperren (Methode vor Systemd)
Mir ist aufgefallen, dass mein Laufwerk nach der Wiederaufnahme des Betriebs aus dem Ruhezustand wieder entsperrt wird. Deshalb 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 nach Aufwachen aus dem Ruhezustand sperren (systemd-Methode)
Ich verwende jetzt 19.04 und habe bemerkt, dass mein Laufwerk nach der Wiederaufnahme aus dem Ruhezustand entsperrt wurde. Mit dieser Methode bleibt es gesperrt:
Erstellen Sie die Skriptdatei:
sudoedit /usr/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 Sie die Datei, machen Sie sie ausführbar und schon sind Sie fertig!
Antwort2
Für mich sind folgende Informationen hilfreich: https://bugs.launchpad.net/ubuntu/+source/eject/+bug/885051/comments/6
Ich habe die Datei bearbeitet in/Bibliothek/Verzeichnis, nicht in/usw/ Jetzt funktioniert in meinem Ubuntu 14.04 der Befehl: eject -i 1 /dev/sr0
Antwort3
Versuchen Sie Folgendes, damit die Schaltfläche nicht ausgeworfen wird:
Offen:Systemeinstellungen>Tastatur>Verknüpfungen>Ton und Medien
Wählen Sie „Auswerfen“ und löschen Sie die Verknüpfung (durch Drücken der „Rücktaste“).
Mithilfe der Verknüpfungseinstellungen können Sie dafür sorgen, dass die Funktion stattdessen eine nützlichere Funktion ausführt, z. B. das Öffnen einer häufig verwendeten Anwendung, das Sperren Ihres Bildschirms oder das Zurücksetzen Ihres WLANs.
Quelle:
Ich habe ein MacBook Pro mit 14.04 und die Auswurftaste befindet sich direkt über der Entf-/Rücktaste, wodurch sie leicht versehentlich gedrückt werden kann (bei MacBooks ohne Laufwerke ist es noch schlimmer, da ist diese Taste stattdessen für die Ein-/Aus-Taste). Habe die Tastenkombinationseinstellungen verwendet, damit die Auswurftaste stattdessen meinen Laptop sperrt. Ich verwende diese Lösung seit 12.04 und allem dazwischen.
Antwort4
Auf dieserWebsiteIch habe diesen Vorschlag gefunden, falls eject -i 1
er nicht funktioniert:
sudo echo 1 > /proc/sys/dev/cdrom/lock
zum Sperren (0 statt 1 zum Entsperren).
Es werden auch einige andere Optionen besprochen.
Hier ist ein kurzer C-Quellcode, der eine andere Option ausführt:Verknüpfung(Beachten Sie den Bugfix für neuere Versionen in den oberen Kommentaren!)
In anderen Foren habe ich jedoch gelesen, dass alle diese Auswurfbefehle nur den Sperrstatus des Laufwerks ändern, wenn eine Festplatte eingelegt und gemountet wird. Die einzige Lösung scheint ein Tool namens zu sein cdctl
, das jedoch, wie ich aus den Kommentaren lese, mit vielen Systemen nicht sehr kompatibel ist.