OS X Yosemite (10.10) で、サービスの有効/無効のオーバーライド設定を削除する方法はありますか?
たとえば、ルートに対して存在しないサービス「test」を永続的に無効にするには、次のようにします。
sudo launchctl disable user/0/test
無効リストに追加されていることを確認します。
sudo launchctl print-disabled user/0
結果:
disabled services = {
"test" => true
}
login item associations = {
}
では、無効なサービスのリストから「test」を削除するにはどうすればよいですか?
(有効にできることはわかっていますが、エントリを完全に削除したいだけです。)
ノート:
コンピューターを再起動すると、「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
これによりファイルから削除されますが、コンピューターを再起動すると再び表示されます。何か案は?