Включить блокировку диска
(примечание: если это eject -i on
уже работает, вы можете пропустить «Блокировка диска при запуске»).
Во-первых, скопируйте, /lib/udev/rules.d/60-cdrom_id.rules
чтобы /etc/udev/rules.d/
понравиться так:
cp /lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/
Затем отредактируйте /etc/udev/rules.d/60-cdrom_id.rules и закомментируйте проблемную строку:
sudoedit /etc/udev/rules.d/60-cdrom_id.rules
Найдите эту строку:
ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Теперь добавьте #
(это «закомментирует» строку, фактически обнуляя ее без удаления) впереди, чтобы она выглядела так:
# ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdrom_end"
Теперь сохраните и закройте, нажав Ctrl+ X, затем Yподтвердите , затем подтвердите Enterтекущее имя файла. Не беспокойтесь, что оно выглядит как странное временное имя файла, именно так работает sudoedit.
Теперь вы сможете отключить аппаратную кнопку привода оптических дисков (по сути, мы блокируем диск) с помощью этого:
eject -i on /dev/sr0
~ или ~ eject -i 1 /dev/sr0
Они делают то же самое.
Блокировка диска при запуске
Чтобы сделать это более полезным, я хотел, чтобы эта команда вступила в силу при запуске. Для этого я использовал программу GUI «Startup Applications» (предварительно установленную в Ubuntu, найдите ее с помощью Dash).
Откройте программу и затем нажмите кнопку «Добавить», откроется новое диалоговое окно.
Введите имя (я использовал описательное «Блокировка оптического привода») и в поле «Command:» введите bash -c 'eject -i on /dev/sr0'
Нажмите «Добавить» для завершения, а затем закройте программу.
Добавить сочетание клавиш
Теперь оптический привод заблокирован при запуске. Но как мне открыть диск, когда мне нужно его использовать ?! Чтобы упростить процесс, я поместил команды в комбинацию клавиш «извлечь», которая разблокирует диск, извлекает диск и затем снова блокирует диск. Таким образом, я все еще могу легко получить доступ к диску, но аппаратная кнопка никогда не является проблемой.
Вот как сделать это сочетание клавиш:
- Откройте программу «Клавиатура», найденную в Dash.
- Перейдите на вкладку «Ярлыки»
- Нажмите на «Пользовательские ярлыки» внизу списка
- Нажмите на знак «+», откроется новое диалоговое окно
- Назовите ярлык (я использовал «Unlock, Eject, Relock CD»)
Введите это в поле «Command:»:
bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
Нажмите «Применить»
Нажмите справа от имени вашего ярлыка, где написано «Отключено». Как только вы нажмете на него, «Отключено» изменится на «Новый ускоритель»:
Нажмите комбинацию клавиш, которую вы хотите использовать. Я использовал Ctrl+ Alt+E
Вы можете сразу же проверить ярлык. Если все хорошо, и все готово!
Блокировка диска после пробуждения из режима ожидания (метод pre-systemd)
Я заметил, что мой диск снова разблокируется после возобновления из режима ожидания, поэтому я создал скрипт, который гарантирует, что диск останется заблокированным в этом случае.
Создайте файл скрипта:
sudoedit /usr/lib/pm-utils/sleep.d/99lock-optical
Вставьте следующее в новый файл:
#!/bin/sh
# lock the optical drive upon resume from suspend
case "${1}" in
resume|thaw)
eject -i 1 /dev/sr0
;;
esac
Блокировка диска после пробуждения из режима ожидания (метод systemd)
Я использую 19.04 сейчас и заметил, что мой диск разблокировался после возобновления из режима ожидания. Этот метод работает, чтобы он оставался заблокированным:
Создайте файл скрипта:
sudoedit /lib/systemd/system-sleep/00start_my_connection
Вставьте следующее в новый файл:
#!/bin/sh
if [ $1 = post ]
then eject -i 1 /dev/sr0
fi
Сохраните и закройте, и все готово!