В OS X Yosemite (10.10) есть ли способ удалить параметр активированного/отключенного переопределения для службы?
Например, чтобы навсегда отключить несуществующий сервис 'test' для root, сделайте следующее:
sudo launchctl disable user/0/test
Убедитесь, что он добавлен в список отключенных:
sudo launchctl print-disabled user/0
Результат:
disabled services = {
"test" => true
}
login item associations = {
}
Теперь, как я могу удалить "тест" из списка отключенных служб?
(Я знаю, что могу включить его, но просто хочу полностью удалить запись.)
Примечание:
Если я перезагружу свой компьютер, я вижу, что переопределение "test" было добавлено в файл launchd disabled
:
sudo cat /var/db/com.apple.xpc.launchd/disabled.0.plist
Результат:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>test</key>
<true/>
</dict>
</plist>
Я попытался запустить эту команду, чтобы вручную удалить ее из файла .plist
:
sudo /usr/libexec/Plistbuddy /var/db/com.apple.xpc.launchd/disabled.0.plist -c Delete:test
Это удалит его из файла, но он снова возвращается, когда я перезагружаю компьютер. Любые идеи?