Dank der Antwort von @Affix, die mir die richtige Richtung wies, habe ich die Lösung für das Problem herausgefunden.
Das Problem wird definitiv von UDEV verursacht, wie Sie vermutet haben. Das Problem ist diese Zeile, die sich in den meisten UDEV-Dateien befindet, die sich auf das CD-ROM-Laufwerk beziehen.
Beispiel
Auf Fedora 19 gibt es die folgende Datei, /usr/lib/udev/rules.d/60-cdrom_id.rules
. In dieser Datei befindet sich die folgende Zeile, die die Auswurftaste für CD/DVD-Geräte kooptiert.
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Sie können das Problem umgehen und die Fähigkeit von UDEV deaktivieren, die Auswurftaste zu verwenden, indem Sie wie folgt vorgehen:
-
Erstellen Sie eine Kopie der Datei
60-cdrom_id.rules
$ sudo cp /usr/lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/.
-
Bearbeiten Sie diese kopierte Version der Datei und kommentieren Sie die Zeile mit der Zeichenfolge
DISK_EJECT_REQUEST
aus .$ sudoedit /etc/udev/rules.d/60-cdrom_id.rules
-
Speichern Sie die Datei und die Änderung sollte sofort sichtbar sein!
Die obige Lösung behebt das Problem für beide eject
und cdctl
. Nun funktionieren also die folgenden Befehle wie erwartet:
Laufwerk sperren
$ eject -i on /dev/sr0
eject: CD-Drive may NOT be ejected with device button
-or-
$ cdctl -o1
Entsperren Sie das Laufwerk
$ eject -i off /dev/sr0
eject: CD-Drive may be ejected with device button
-or-
$ cdctl -o0
Fügen Sie die Zeile hinzu:
DISC_EJECT_REQUEST
zu den udev-Regeln der CD-ROM. Dadurch können Sie sperren mit:
eject -i