在寻找禁用Macbook键盘的解决方案时,我目前正在为Launchd而苦苦挣扎。
先介绍一些背景知识:我把一些水洒在我的Macbook Pro 2010机型上,从那以后,键盘上的一些按键就不再起作用了。我开始把Mac当做一个有外接键盘、鼠标和显示器的台式机,并在一段时间内变得很棒。但后来随着shift-键卡住(不是键本身,而是主板上的某个地方,我猜),情况变得更糟。此转换将强制Mac启动进入安全模式。我通过在启动时按Option键解决了这个问题。但现在有了新的东西:一些按键被随机触发,因此计算机变得无法使用……我使用无密码登录并通过运行以下shell命令解决了此问题:
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.怎么啦?
发布于 2016-08-21 16:56:48
/Users/<username>/disable-keyboard.sh的正确脚本是:
#!/bin/bash
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/https://stackoverflow.com/questions/38895177
复制相似问题