랩탑 광 드라이브 꺼내기 단추를 비활성화하고 키보드 단축키에 꺼내기를 할당하려면 어떻게합니까?


8

참고 : 이제 답변이 19.04에서 작동하도록 업데이트되었습니다.

나는 14.04에 있고 실수로 하루에 약 20 번 내 CD / DVD / Bluray 드라이브를 엽니 다. 나는 여기에 효과적인 해결책을 제공하지 않은 몇 가지 질문을 보았습니다.

모두 이 문제이 문제는 오래된 것으로 나타났습니다 - 제공된 솔루션은 작동하지 않습니다.

내가 할 때, eject -i on나는eject: unable to find or open device for: 'cdrom'

내가 할 때 eject -i on /dev/sr0: 나는 더 유리한 응답을 얻을 수 CD-Drive may NOT be ejected with device button있지만 버튼이 불행하게도 여전히 사용 가능합니다.

의 정보에 /proc/sys/dev/cdrom/info따르면 잠금이 가능합니다.

CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:             sr0
drive speed:            24
drive # of slots:       1
Can close tray:         1
Can open tray:          1
Can lock tray:          1
Can change speed:       1
Can select disk:        0
Can read multisession:  1
Can read MCN:           1
Reports media changed:  1
Can play audio:         1
Can write CD-R:         1
Can write CD-RW:        1

이 답변 에는 드라이브 잠금을 활성화하기 위해 UDEV 규칙을 수정하는 작동 솔루션이 있습니다. 실용적인 정보를 솔루션에 추가하여 다음을 수행 할 수 있습니다.

  • 시작할 때 광학 드라이브 하드웨어 꺼내기 단추를 비활성화하십시오
  • 광학 드라이브를 꺼내려면 키보드 단축키를 추가하십시오.
  • 일시 중단 후 깨어 난 후 드라이브가 잠겨져 있는지 확인

1
그것은 나를 위해 일하고 있습니다. "udevadm control --reload-rules"를 사용하여 udev 규칙을 다시로드 했습니까 ???
solsTiCe

답변:


11

드라이브 잠금 활성화

(참고 : 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로 찾기)을 사용했습니다.

프로그램을 열고 "추가"버튼을 클릭하면 새로운 대화 상자가 열립니다.

이름을 입력하고 (설명적인 "Lock 광학 드라이브"와 함께) "명령 :"필드에 bash -c 'eject -i on /dev/sr0'

"추가"를 클릭하여 프로그램을 완료 한 다음 닫습니다.


키보드 단축키 추가

이제 시작시 광학 드라이브가 잠 깁니다. 그러나 드라이브를 사용해야 할 때 어떻게 드라이브를 열 수 있습니까?! 간단하게하기 위해 명령을 "꺼내기"키보드 바로 가기에 넣어 드라이브의 잠금을 해제하고 드라이브를 꺼낸 다음 드라이브를 다시 잠급니다. 이 방법으로 여전히 드라이브에 쉽게 액세스 할 수 있지만 하드웨어 단추는 문제가되지 않습니다.

이 키보드 단축키를 수행하는 방법은 다음과 같습니다.

  • 대시 내에서 "키보드"프로그램을 엽니 다.
  • "바로 가기"탭을 클릭하십시오
  • 목록 하단의 "사용자 정의 바로 가기"를 클릭하십시오
  • "+"부호를 클릭하면 새로운 대화 상자가 열립니다
  • 바로 가기 이름을 지정합니다 ( "Unlock, Eject, Relock CD"를 사용했습니다).
  • "명령 :"필드에 이것을 입력하십시오 :

    bash -c 'eject -i off /dev/sr0 && eject /dev/sr0 && eject -i on /dev/sr0'
    
  • "적용"을 클릭하십시오

  • 바로 가기 이름 오른쪽의 "사용 안 함"을 클릭하십시오. 클릭하면 "비활성화 됨"이 "새 가속기"로 변경됩니다.

    사용하려는 키 조합을 누르십시오. 나는 Ctrl+ Alt+를 사용했다E

그런 다음 바로 가기를 즉시 테스트 할 수 있습니다. 모든 것이 잘되어 있으면 끝입니다!


일시 중단 후 깨우면 드라이브 잠금 (사전 시스템화 된 방법)

일시 중지 상태에서 다시 시작하면 내 드라이브가 다시 잠금 해제되어 드라이브가 잠긴 상태로 유지되도록 스크립트를 만들었습니다.

스크립트 파일을 작성하십시오.

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

일시 중단에서 깨어 난 후 드라이브 잠금 (시스템 방식)

지금 19.04를 사용하고 있으며 일시 중지에서 다시 시작하면 내 드라이브가 잠금 해제되는 것을 알았습니다. 이 방법은 잠금 상태를 유지하기 위해 작동합니다.

스크립트 파일을 작성하십시오.

sudoedit /lib/systemd/system-sleep/00start_my_connection

새 파일에 다음을 붙여 넣습니다.

 #!/bin/sh
 if [ $1 = post ]
 then eject -i 1 /dev/sr0
 fi

저장하고 닫으면 모든 준비가 완료됩니다!


좋은 것! (그리고 어리석은 삶의 해킹이 필요하지 않습니다! 훌륭합니다! ) 핀이있는 것을 삭제 하시겠습니까?
Fabby

1
감사! 다른 해결책이없는 사람들을 위해 남겨 두는 것이 좋습니다. "hack"의 또 다른 전체 의미입니다 :)
Insperatus

분명히 일시 중단하면 드라이브가 다시 돌아가고 잠금이 해제됩니다.
Insperatus

"일시 중지 / 깨우기 스크립트"라고하는 것은 일시 중지 / 깨어날 때 호출됩니다. 나는 당신도 거기에 당신의 솔루션을 추가 할 것을 제안합니다 (스크립트에 대한 절대 경로가 없습니다, 그것이 존재한다는 것을 알고 있습니다)
Fabby

1
그래, 나도 많이 추측했다. 여기여기 에서 해결책을 확인 하십시오 .
Insperatus

1

나를 위해 여기에 도움이됩니다 https://bugs.launchpad.net/ubuntu/+source/eject/+bug/885051/comments/6

/ etc /가 아닌 / lib / 디렉토리 에서 파일을 편집했습니다. 이제 우분투 14.04 명령에서 작동합니다 : eject -i 1 / dev / sr0


불행히도 이것은 나를 위해 작동하지 않습니다.
Insperatus

나를 위해 일했다 (ThinkPad T420의 Ubuntu 14.04, 런치 패드에서 제안 된 gonzo와 같은 lib 파일을 편집 함)
mondjunge

실제로 나는 디렉토리 구조를 망쳐 놓고 있었고, 당신은이 대답으로 올바른 길을 가고있었습니다!
Insperatus

1

다른 모든 것이 실패하면 :

핀 (손상을 입을 수 있으므로 바늘이 아님)을 잡고 DVD 드라이브의 버튼 뒤에 단단히 밀어 넣고 버튼을 잡아 당기는 레버로 사용하십시오. 그런 다음 구멍이 1mm 이상인 작은 플라스틱 조각을 구멍에 넣고 그 위에 약간의 접착제를 바르고 옆에 있는 작은 구멍 위에 놓지 않도록주의 하면서 구멍에 붙 입니다.

지금부터 다음 두 가지 방법을 사용하여 DVD 드라이브를여십시오.

  1. 대시를 통해 Ubuntu "꺼내기"사용
  2. 지금부터 PC 주위의 구명 해킹 핀을 유지하고 랩탑이 꺼져있을 때 DVD를 꺼내기 위해 플라스틱 옆 의 작은 구멍에 밀어 넣습니다 . 접착 테이프를 사용하여 랩톱 밑면에 구명 핀을 고정하십시오.

1
그러나 내 CD-ROM 드라이브를 파괴하는 것이 트레이를 소프트웨어로 잠그는 방법에 대한 답으로 기대할 수있는 것은 아닙니다! 이 작업을 수행하기 전에 작은 판지를 가져와 버튼 모양의 구멍을 자르고 꺼내기 버튼 위에 테이프를 붙이면 실수로 무릎을 꿇는 등의 방법으로 무릎을 꿇지 않습니다.
바이트 사령관

@ByteCommander : 그렇기 때문에 제목에 "다른 모든 것이 실패하는 경우"가 있습니다. 또한, 원래의 포스터는 이미 웃음을 냈고 이미 찬성했습니다. 그러나 나는 당신의 구명 해킹도 대답 할 가치가 있다고 생각합니다! 답변으로 게시하면 2 개의 공감대를 얻게 될 것입니다!
Fabby

좋은 생각이지만 변환 할 수 없으며 다시 쓰고 싶지 않습니다. 누군가에게 도움이된다면 괜찮습니다. 그리고 당신은 의견을 공감할 수 있습니다. 그런데, 질문 포스터로부터 투표를 받았다는 것을 어떻게 알고 싶습니까?
바이트 사령관

@ByteCommander : 댓글을 올리면 응답이 없습니다. 다른 의견을 남기지 않으면 의견을 투표합니다. 뒷면의 팻과 같습니다. 그리고 추가 의견은 큰 포옹과 같습니다! > :)
Fabby

@ByteCommander : 일반적으로 누가 up / downvotes를 알지 못하지만 upvote가 들어오고 질문으로 이동하여 OP 사용자 페이지로 이동하여 "마지막 활동 : 1 분"을 보았습니다. 그래서 나는 그 / 그녀 / 그것이라고 추론했고 그것은 나에게도 미소를 주었다.
Fabby

0

버튼을 꺼내지 않으려면 다음을 시도하십시오.

  1. 열기 : 시스템 설정 > 키보드 > 바로 가기 > 사운드 및 미디어

  2. "꺼내기"를 선택하고 바로 가기를 지우십시오 ( "백 스페이스"를 누름).

바로 가기 설정을 사용하여 일반적으로 사용되는 응용 프로그램을 열거 나 화면을 잠 그거나 Wi-Fi를 재설정하는 등 더 유용한 작업을 수행 할 수 있습니다.


출처:

MacBook Pro 14.04를 실행 중이며 꺼내기 버튼이 Delete / Backspace의 바로 위에있어 실수로 쉽게 눌릴 수 있습니다 (디스크 드라이브가없는 MacBook의 경우 전원 버튼 대신에 더 나쁩니다). 바로 가기 설정을 사용하여 꺼내기 버튼을 사용하여 랩탑을 잠급니다. 12.04부터이 솔루션을 사용하고 있습니다.


키보드 버튼이 아닌 실제 드라이브의 버튼을 눌렀을 때 이것은 작동하지 않았습니다.
Insperatus

0

이에 사이트 경우, 나는이 제안을 찾을 eject -i 1: 작동하지 않습니다
sudo echo 1 > /proc/sys/dev/cdrom/lock(잠금 해제에 0 대신 1) 잠금을
뿐만 아니라 dicussed 몇 가지 다른 옵션이 있습니다.

다음은 또 다른 옵션을 수행하는 짧은 C 소스 코드입니다. link (상위 의견에서 최신 버전의 버그 수정에 주목하십시오!)

그러나 다른 포럼에서는 디스크를 넣고 마운트 할 때 이러한 모든 꺼내기 명령이 드라이브의 잠금 상태 만 변경한다는 것을 읽었습니다. 유일한 해결책은이라는 도구 인 것처럼 보이지만 cdctl주석을 연구 한 것처럼 많은 시스템과 호환되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.