Włącz blokowanie dysku
(uwaga: jeśli eject -i on
już działa, możesz przejść do „Zablokuj dysk przy uruchamianiu”)
Po pierwsze, należy skopiować /lib/udev/rules.d/60-cdrom_id.rules
do /etc/udev/rules.d/
tak:
cp /lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/
Następnie edytuj /etc/udev/rules.d/60-cdrom_id.rules i skomentuj problematyczną linię:
sudoedit /etc/udev/rules.d/60-cdrom_id.rules
Znajdź tę linię:
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Teraz dodaj #
(to „komentuje”) linię, skutecznie ją niwelując bez usuwania) z przodu, aby wyglądała tak:
# ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Teraz zapisz i zamknij, naciskając Ctrl+ X, a następnie, Yaby potwierdzić, a następnie, Enteraby zaakceptować bieżącą nazwę pliku. Nie martw się, że pojawia się jako dziwna nazwa pliku tymczasowego, tak właśnie działa sudoedit.
Teraz powinieneś być w stanie wyłączyć przycisk sprzętowy napędu optycznego (zasadniczo blokujemy napęd) w następujący sposób:
eject -i on /dev/sr0
~ lub ~ eject -i 1 /dev/sr0
Robią to samo.
Zablokuj dysk przy uruchamianiu
Aby uczynić to bardziej użytecznym, chciałem, aby to polecenie zadziałało podczas uruchamiania. W tym celu użyłem programu GUI „Startup Applications” (preinstalowanego w Ubuntu, znajdź go z Dash).
Otwórz program, a następnie kliknij przycisk „Dodaj”, otworzy się nowe okno dialogowe.
Wpisz nazwę (poszedłem z opisowym „Zablokuj napęd optyczny”) i w polu „Command:” wpisz bash -c 'eject -i on /dev/sr0'
Kliknij „Dodaj”, aby zakończyć, a następnie zamknij program.
Dodaj skrót klawiaturowy
Teraz napęd optyczny jest zablokowany podczas uruchamiania. Ale jak mogę otworzyć dysk, kiedy muszę go użyć ?! Aby to uprościć, wstawiam polecenia do skrótu klawiaturowego „wysuwania”, który odblokowuje dysk, wysuwa dysk, a następnie blokuje dysk. W ten sposób nadal mogę łatwo uzyskać dostęp do dysku, ale przycisk sprzętowy nigdy nie stanowi problemu.
Oto jak wykonać ten skrót klawiaturowy:
- Otwórz program „Klawiatura” znajdujący się w Dash.
- Kliknij kartę „Skróty”
- Kliknij „Niestandardowe skróty” na dole listy
- Kliknij znak „+”, otworzy się nowe okno dialogowe
- Nazwij skrót (użyłem „Odblokuj, wysuń, ponownie zablokuj dysk CD”)
Wpisz to w pole „Polecenie:”:
bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
Kliknij „Zastosuj”
Kliknij po prawej stronie nazwy skrótu, gdzie jest napisane „Wyłączone”. Po kliknięciu „Wyłączone” zmienia się w „Nowy akcelerator”:
Naciśnij kombinację klawiszy, której chcesz użyć. Użyłem Ctrl+ Alt+E
Następnie możesz natychmiast przetestować skrót. Jeśli wszystko jest już blisko i gotowe!
Zablokuj napęd po wybudzeniu z zawieszenia (metoda wstępnie zaprogramowana)
Zauważyłem, że mój dysk ponownie odblokowuje się po wznowieniu zawieszenia, więc utworzyłem skrypt, aby upewnić się, że dysk pozostanie zablokowany w tym przypadku.
Utwórz plik skryptu:
sudoedit /usr/lib/pm-utils/sleep.d/99lock-optical
Wklej następujące elementy do nowego pliku:
#!/bin/sh
# lock the optical drive upon resume from suspend
case "${1}" in
resume|thaw)
eject -i 1 /dev/sr0
;;
esac
Lock Drive Upon Wake From Suspend (metoda systemowa)
Używam teraz 19.04 i zauważyłem, że mój dysk odblokowuje się po wznowieniu z zawieszenia. Ta metoda działa tak, aby pozostała zablokowana:
Utwórz plik skryptu:
sudoedit /lib/systemd/system-sleep/00start_my_connection
Wklej następujące elementy do nowego pliku:
#!/bin/sh
if [ $1 = post ]
then eject -i 1 /dev/sr0
fi
Zapisz i zamknij, a wszystko gotowe!