2016-08-11 12 views
2

私のMacBookでキーボードを無効にするソリューションを探していて、私は現在Launchdに苦労しています。MacBookのキーボードを無効にする

背景:MacBook Pro 2010のモデルに水をこぼしてしまったので、キーボードのいくつかのキーが機能しなくなりました。私は外付けのキーボード、マウス、モニターを備えたMacとしてデスクトップを使い始め、しばらくの間楽しんでいました。しかしシフトキーが詰まっている(鍵自体ではなく、私が推測するマザーボード上のどこかで)悪化している。この変更により、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によって実行されるスクリプトは、ライン で開始する必要があります「#!/ binに/ 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/ 
関連する問題