В моем поиске решения по отключению клавиатуры на моем Macbook я в настоящее время борется с Launchd.Отключить клавиатуру Macbook
Некоторые предпосылки: я пролил немного воды на моей модели Macbook Pro 2010, и с тех пор некоторые клавиши на клавиатуре больше не работают. Я начал использовать Mac в качестве рабочего стола с внешней клавиатурой, мышью и монитором и отлично поработал. Но тогда это ухудшилось, когда клавиша shift застряла (не сам ключ, а где-то на материнской плате, я думаю). Сдвиг заставляет Mac загружаться в безопасный режим. Я обошел это, нажав клавишу Option во время загрузки. Но теперь есть что-то новое: некоторые клавиши срабатывают в случайном порядке, поэтому компьютер становится непригодным для использования ... я обойти эту проблему, используя логин не-пароля, и с помощью этой команды оболочки:
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/
Я поставил эту команду в скрипте под названием disable-keyboard.sh. Он отлично работает! Внутренняя клавиатура выключена, а внешняя клавиатура работает хорошо.
Однако выполнение этой команды - настоящая боль при случайных запускаемых ключах, что затрудняет загрузку терминала. Поэтому мне нужно запустить эту команду во время загрузки. Я попал в запуск программ:
Я сделал список свойств файла:
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.
Что не так?
Решение: Сценарий, который находится в ведении запуск программ должна начинаться с линии «#!/Bin/Баш» –
Это полностью решить мою проблему, спасибо вы. Хвост системных журналов помог мне определить, что тоже не так: tail -f /var/log/system.log – martinedwards
Это здорово услышать Мартина! –