вимкнути кнопку CD / DVD на ноутбуці Linux (ubuntu)


11

Мій малюк невпинно натискає кнопку CD / DVD та намагається знищити лоток. Я знаю, що має бути можливим ускладнити її життя, відключивши кнопку викидання. Як це зробити? Це ubuntu (не має значення) Linux. Дивіться також це пов'язане питання .

І такий самий, як цей, але на вікнах

EDIT: це Харді


1
Це нагадує мені відео про того, хто мав сценарій, який постійно викидав і закривав дисковод. Була струна, що з'єднувала лоток для диска з качалкою дитини. А компакт-диск просто розгойдував дитину!
Jonno_FTW

@Jonno_FTW: Схожа історія походить з німецького сайту ubuntuusers. Хтось створив "орієнтир", щоб виміряти, як часто привід може відкриватися та закриватися за хвилину. Потрібно сказати, що хтось придумав, як це зробити через мережу, і трохи розважився на роботі.
Боббі

Відповіді:


5

Ви можете спробувати це ...

http://www.poweradded.net/2009/09/cddvd-tray-lockunlock-under-linux.html


Це добре, він працює досить добре (код не надійний, але я можу вдосконалити його сам, якщо мені ніколи не знадобиться)
Девіде

Це не працює у Fedora 19. Використання ноутбука Thinkpad T410.
slm

Спочатку не працювало в Ubuntu, але я не побачив оновлення допису (пошукайте "UPDATE1 03.Jan.2013", у якому було виправлено рішення, пов’язане з рішенням, працювати знову, тому не пропустіть цей коментар під час пострілу
Björn

12

У командному рядку:

eject -i 1

Щоб повернутися до нормального стану:

eject -i 0

Або ви можете викинути програмне забезпечення за допомогою:

eject

У всіх випадках ви можете додати ім’я пристрою, якщо у вас є більше одного викидного пристрою.

Мабуть, це не працює з усіма версіями викидання. Якщо це не з вашим, ви можете повністю обійти викид і зробити це "важким" способом:

echo 1 | sudo tee /proc/sys/dev/cdrom/lock

Спасибі, але це не буде працювати для моїх ОС: $ виштовхування -i 1 виштовхування: невірний варіант - я $ виштовхування --version виштовхування версія 2.1.5 Джеффа Трантер (tranter@pobox.com)
Давида

Grrr, коментарі не вирівнюють фрагмент коду правильно і їх неможливо редагувати! Дозвольте спробувати ще раз: $ eject -i 1результати в eject: invalid option -- i- і ви зможете з'ясувати версію з іншого коментаря
Девід

Дивно. $ eject -i 1добре працює для мене в Карміці. Версія 2.1.5.
реган

1
Якщо ви хочете зробити це важким шляхом, то <code> <pre> sudo echo 1 & gt; / proc / sys / dev / cdrom / lock </pre> </code> працюватиме з будь-якою версією викидання, оскільки ви не використовуєте витяг.
горила

@gorilla, ви повинні додати це як свою власну відповідь ..
шарлатанний кіхот

2

Автомобіль Ubuntu за замовчуванням не блокує спробу CD / DVD, коли він змонтований вставлений диск. Але якщо ви змонтуєте диск вручну (скажімо, за допомогою sudo), лоток повинен заблокуватися і залишатися заблокованим, поки ви не демонтуєте диск.

Таким чином, цей процес здійснить все, що ви хочете, не вимикаючи іншу функціональність, і ви навіть можете його скриптувати для швидкого доступу:

  1. Вставте диск,
  2. Біжи sudo umount /media/cdrom, значить
  3. Біжи sudo mount /dev/cdrom /media/cdrom

Очевидно, замініть ці шляхи та пристрої на ті, які використовує ваша система.


Працює, але це незручно (насправді я про це знав). Дякую за відповідь, все одно.
Девіде

2

Користувач залишив коментар на інше питання. Коментар мав бути окремою відповіддю. Я пишу його пропозицію тут, оскільки це може працювати для когось (це не в Харді Харона) і може бути зручнішим, ніж установка коду з мого прийнятого питання.

Замкнути:

sudo bash -c 'echo 1 > /proc/sys/dev/cdrom/lock'

Щоб розблокувати:

sudo bash -c 'echo 0 > /proc/sys/dev/cdrom/lock'

Звичайно, будуть використані невеликі сценарії оболонок, можливо, пов'язані з панелі.


Чи є служба, яку потрібно перезапустити, щоб це працювало? Мій привід все ще відкривається, коли натискаю кнопку витягування.
CauselessEffect

@CauselessEffect, як я писав, це ніколи не працювало для мене
Davide

1

Ви можете спробувати cdctl. Він доступний тут: http://cdctl.sourceforge.net/ . Цей перемикач здійснить те, що ви хочете.

       -oS, --lockdoor=S
          Locks the eject button so the disc cannot be manually ejected.  Requires  kernel  ver‐
          sion 2.2.4 or newer.  Set S to 0 to unlock the drive, and to 1 to lock it.

Я використовував це протягом останніх 10 років на Fedora, RHEL, CentOS, але пакет доступний у вигляді тарболу і повинен бути компільований на Ubuntu. ПРИМІТКА. Пакет не оновлювався протягом певного часу, але він працює чудово. На сайті gentoo є виправлення, яке виправляє невелику проблему, щоб його можна було компілювати з більш новими ядрами. Патч доступний тут:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/files/cdctl-0.15-cdc_ioctls.patch?revision=1.1

Після встановлення ви можете скористатися командою для блокування CD-лотка:

cdctl -o1

Щоб розблокувати лоток:

cdctl -o0

Нещодавно я перепакував cdctl для використання на Debian / Ubuntu 12.10. Він доступний тут, http://www.lamolabs.org/blog/wp-content/uploads/2011/01/cdctl_0.15-1.lamolabs.1_amd64.deb


Не базується на останній для мене версії Ubuntu. Потрібен цей патч від gentoo: source.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/… . Серйозно, навіщо турбуватися з інструментом, який не сприймає такий простий патч, як цей.
дгрант

Так, адже це єдиний інструмент, який я знайшов, і робить те, що мені потрібно. Окрім застосування патча - це не велика справа, я підтримую вбудовану версію цього файлу у своєму сховищі yum: lamolabs.org/yum-repos/Fedora/14/x86_64/… . Ви не можете використовувати мій rpm безпосередньо, але ви могли його перетворити за допомогою програми чужорідних, addictivetips.com/ubuntu-linux-tips/… .
slm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.