wyłącz przycisk cd / dvd na laptopie z Linuksem (ubuntu)


11

Mój todler ciągle naciska przycisk cd / dvd i próbuje zniszczyć tacę. Wiem, że powinno być możliwe, aby jej życie było trudniejsze, wyłączając przycisk wysuwania. Jak to zrobić? To jest linuks Ubuntu (nie powinno mieć znaczenia). Zobacz także powiązane pytanie .

I taki sam jak ten, ale w systemie Windows

EDYCJA: to jest Hardy


1
To przypomina mi wideo kogoś, kto miał skrypt, który ciągle wysuwał i zamykał napęd. Był sznur łączący tacę dysku z bujakiem dziecka. A napęd CD właśnie wstrząsnął dzieckiem!
Jonno_FTW

@Jonno_FTW: Podobna historia pochodzi z niemieckiej strony poświęconej ubuntuusers. Ktoś stworzył „test porównawczy”, aby zmierzyć, jak często dysk może się otwierać i zamykać w ciągu minuty. Nie trzeba dodawać, że ktoś wymyślił, jak to zrobić przez sieć i dobrze się bawił w pracy.
Bobby,

Odpowiedzi:


5

To dobrze, działa całkiem dobrze (kod nie jest solidny, ale mogę go poprawić samodzielnie, jeśli nigdy nie będę potrzebować)
Davide

To nie działa w Fedorze 19. Korzystanie z laptopa Thinkpad T410.
slm,

Początkowo nie działał w Ubuntu, ale nie widziałem aktualizacji posta (wyszukaj „UPDATE1 03. sty.2013”, który miał poprawkę, dzięki której rozwiązanie zostało połączone, działa ponownie, więc nie przegap tego komentarza przy strzelaniu
Björn

12

W wierszu poleceń:

eject -i 1

Aby powrócić do normalności:

eject -i 0

Możesz też wysunąć oprogramowanie za pomocą:

eject

We wszystkich przypadkach możesz dodać nazwę urządzenia, jeśli masz więcej niż jedno urządzenie wysuwne.

Najwyraźniej nie działa to ze wszystkimi wersjami eject. Jeśli nie pasuje do twojego, możesz całkowicie ominąć wysuwanie i zrobić to w „trudny” sposób:

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

Dzięki, ale to nie działa w moim systemie operacyjnym: $ eject -i 1 eject: niepoprawna opcja - i $ eject - wersja eject wersja 2.1.5 autor: Jeff Tranter (tranter@pobox.com)
Davide

Grrr, komentarze nie wyrównują fragmentu kodu poprawnie i nie mogą być edytowane! Pozwól, że spróbuję jeszcze raz: $ eject -i 1wyniki w eject: invalid option -- i- i powinieneś być w stanie zrozumieć wersję z drugiego komentarza
Davide,

Dziwne. $ eject -i 1działa dobrze dla mnie w Karmic. Wersja 2.1.5.
regan

1
Jeśli chcesz to zrobić na własnej skórze, to <code> <pre> sudo echo 1 & gt; / proc / sys / dev / cdrom / lock </pre> </code> będzie działał z każdą wersją eject, ponieważ nie używasz eject.
goryl

@gorilla, powinieneś dodać to jako własną odpowiedź ..
quack quixote

2

Domyślny automatounter Ubuntu nie blokuje próby CD / DVD po zamontowaniu włożonej płyty. Ale jeśli montujesz dysk ręcznie (powiedzmy za pomocą sudo), taca powinna się zablokować i pozostać zablokowana, dopóki dysk nie zostanie zdemontowany.

Dzięki temu proces osiągnie to, co chcesz, bez wyłączania innych funkcji, a możesz nawet napisać skrypt, aby uzyskać szybki dostęp:

  1. Włóż dysk,
  2. Uruchom sudo umount /media/cdromwięc
  3. Biegać sudo mount /dev/cdrom /media/cdrom

Oczywiście zamień te ścieżki i urządzenia na te, których używa twój system.


Działa, ale jest niewygodny (właściwie o tym wiedziałem). W każdym razie dzięki za odpowiedź.
Davide,

2

Użytkownik pozostawił komentarz na pytanie innego. Komentarz powinien być osobną odpowiedzią. Piszę tutaj jego sugestię, ponieważ może to dla kogoś zadziałać (nie działa w Hardy Haron) i może być wygodniejsze niż instalacja kodu z zaakceptowanego pytania.

Zablokować:

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

Odblokować:

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

Oczywiście użyte zostaną małe skrypty powłoki, ewentualnie połączone z panelu.


Czy istnieje usługa, którą należy ponownie uruchomić, aby to zadziałało? Mój napęd wciąż się otwiera po naciśnięciu przycisku wysuwania.
CauselessEffect

@CauselessEffect, jak napisałem, nigdy dla mnie nie działało
Davide,

1

Możesz wypróbować cdctl. Jest dostępny tutaj: http://cdctl.sourceforge.net/ . Ten przełącznik osiągnie to, co chcesz.

       -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.

Używam tego przez ostatnie 10 lat na Fedorze, RHEL, CentOS, ale pakiet jest dostępny jako tarball i powinien być kompatybilny z Ubuntu. UWAGA: Pakiet nie był aktualizowany od dłuższego czasu, ale działa dobrze. Na stronie Gentoo dostępna jest łatka, która naprawia mały problem, dzięki czemu można go skompilować z nowszymi jądrami. Łatka jest dostępna tutaj:

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

Po zainstalowaniu możesz użyć polecenia, aby zablokować tacę cd:

cdctl -o1

Aby odblokować tacę:

cdctl -o0

Niedawno ponownie spakowałem cdctl do użytku na Debian / Ubuntu 12.10. Jest dostępny tutaj, http://www.lamolabs.org/blog/wp-content/uploads/2011/01/cdctl_0.15-1.lamolabs.1_amd64.deb


Nie opiera się na najnowszej wersji Ubuntu dla mnie. Potrzebuje tej poprawki od gentoo: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/cdctl/… . Poważnie, po co zawracać sobie głowę narzędziem, które nie bierze takiej prostej łatki, jak ta.
dgrant

Uhh, ponieważ to jedyne narzędzie, które znalazłem, robi to, czego potrzebuję. Oprócz stosowania plastra nie jest nic wielkiego, ja utrzymać wbudowany wersji tego w moim yum repozytorium tutaj: lamolabs.org/yum-repos/Fedora/14/x86_64/... . Nie możesz użyć mojego RPM bezpośrednio, ale możesz go przekonwertować za pomocą aplikacji Alien, addictivetips.com/ubuntu-linux-tips/… .
slm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.