2016-08-11 3 views
2

Macbook에서 키보드를 사용할 수 없게하는 해결책을 찾다가 현재 Launchd와 어려움을 겪고 있습니다.맥북 키보드 사용 안 함

몇 가지 배경 설명 : Macbook Pro 2010 모델에 물을 쏟은 다음 키보드의 일부 키가 더 이상 작동하지 않습니다. 필자는 Mac을 외장 키보드, 마우스 및 모니터가있는 데스크탑으로 사용하기 시작했으며 잠시 동안 좋았습니다. 그런데 Shift 키를 붙이면 (키 자체가 아니라 어딘가에서 내가 추측하는 마더 보드) 악화됩니다. 시프트로 인해 Mac이 안전 모드로 부팅됩니다. 부팅 할 때 Option 키를 눌러이 문제를 해결했습니다. 하지만 지금은 새로운 무언가있다 :이 명령을 넣어

sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/ 

: 일부 키가 컴퓨터를 사용할 수 없게 얻을 수 있도록 ... 나는 노 비밀번호 로그인을 사용하여이 문제를 해결 가지고,이 쉘 명령을 실행하여 무작위 트리거는 disable-keyboard.sh라는 스크립트에서 잘 작동합니다! 내부 키보드가 꺼져 있고 외부 키보드가 잘 작동합니다.

그러나이 명령을 실행하면 임의의 트리거 키를 사용하여 터미널을로드하기가 어려워지는 진짜 고통이됩니다. 그래서 부팅 할 때이 명령을 실행해야합니다. 나는 launchd에 들어갔다 :

more /Users/<username>/Library/LaunchAgents/DisableKeyboard.plist 

<xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>DisableKeyboard</string> 
    <key>Program</key> 
    <string>/Users/<username>/disable-keyboard.sh</string> 
    <key>RunAtLoad</key> 
    <true/> 
</dict> 
</plist> 

그리고 작동하는 것 같다 :

launchctl load /Users/<username>/Library/LaunchAgents/DisableKeyboard.plist 

반환 그러나

Users/<username>/Library/LaunchAgents/DisableKeyboard.plist: service already loaded 

: 가 launchctl start DisableKeyboard이 있습니다 내가 속성 목록 파일을 만든

의 오류 메시지
system.log: 


com.apple.xpc.launchd[1] (DisableKeyboard[292]): Program specified by service is not a Mach-O executable file. 

무엇이 잘못 되었나요?

+1

: launchd에 의해 실행되는 스크립트는 "#!/빈/bash는에게"라인과 –

+0

이 완전히 해결 내 문제를 시작해야, 감사합니다 당신. 시스템 로그를 꼬집는 것은 나에게 무엇이 잘못되었는지를 확인하는 데 도움이되었습니다. tail -f /var/log/system.log – martinedwards

+1

마틴의 이야기를 듣기 좋게 생각합니다! –

답변

2

/Users/<username>/disable-keyboard.sh에서 올바른 스크립트입니다 :

#!/bin/bash 
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/ 
솔루션