Отключите кнопку извлечения DVD на Thinkpad под управлением Linux


3

У моего Thinkpad T420 есть проблема. Это просто слишком чувствительно. Я просто слегка касаюсь его с правой стороны, и вот-вот, дисковод DVD открывается. (Я думаю, это называется преждевременным выбросом :)).

Есть ли способ отключить кнопку извлечения? Я использую Linux (Fedora 17).


Это не точный дубликат. Вы задаете вопрос, как отключить кнопку в Windows, и ответ - программа под названием LockCD в Windows . Я использую Linux , поэтому ответ мне не поможет. Я отмечу это для модераторского внимания, чтобы открыть это.
iblue

Я отправлял ответ, но не мог, потому что это было заблокировано. FWIW Я не думаю, что это точно обман. Вот что я собирался опубликовать; добавит в качестве ответа, если это будет разблокировано: вы можете попробовать cdctl -oили cdctl --lockdoor( cdctl веб-сайт ).
Каран

Спасибо, я попробовал, это не сработало. cdctl -oожидает числовой аргумент. Я пробовал 0 и 1, оба не закрывают дверь. Я также попробовал eject -i 1 /dev/sr0и echo 1 > /proc/sys/dev/cdrom/lockкак root и вручную отправив CDROM_LOCKDOOR ioctl на устройство. Ничто не похоже на работу.
iblue

Хм, cdctl вообще работает. Возможно, диск вашего ноутбука не поддерживает функцию блокировки.
Каран

Ответы:


1

Это репост ответа, который я дал на свой собственный идентичный вопрос на сайте Unix & Linux под названием: Как я могу отключить кнопку моего привода CD / DVD? ,


Проблема определенно вызвана UDEV, как вы уже догадались. Проблема заключается в этой строке, которая есть в большинстве файлов UDEV, связанных с диском cdrom.

пример

На Fedora 19 есть следующий файл /usr/lib/udev/rules.d/60-cdrom_id.rules. В этом файле находится следующая строка, в которой используется кнопка извлечения для CD / DVD-устройств.

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

Вы можете обойти эту проблему и отключить способность UDEV кооптировать кнопку извлечения, выполнив следующие действия:

  1. Сделайте копию файла 60-cdrom_id.rules

    $ sudo cp /usr/lib/udev/rules.d/60-cdrom_id.rules /etc/udev/rules.d/.
    
  2. Редактировать эту скопированную версию файла и закомментируйте строку , содержащую строку, DISK_EJECT_REQUEST.

    $ sudoedit /etc/udev/rules.d/60-cdrom_id.rules
    
  3. Сохраните файл и изменения должны быть заметны немедленно!

Приведенное выше решение устраняет проблему как для, так ejectи для cdctl. Теперь следующие команды работают как положено:

заблокировать диск

$ eject -i on /dev/sr0
eject: CD-Drive may NOT be ejected with device button

-or-

$ cdctl -o1

разблокировать диск

$ eject -i off /dev/sr0
eject: CD-Drive may be ejected with device button

-or-

$ cdctl -o0
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.