Na OS X Yosemite (10.10), czy istnieje sposób na usunięcie włączonego/wyłączonego ustawienia zastąpienia dla usługi?launchctl - usuń włączone/wyłączone przesłonięcie
Na przykład, aby na stałe wyłączyć nieistniejącego serwis 'test' root, to zrobić:
sudo launchctl disable user/0/test
Sprawdź, czy została ona dodana do listy osób niepełnosprawnych:
sudo launchctl print-disabled user/0
Wynik:
disabled services = {
"test" => true
}
login item associations = {
}
Jak mogę usunąć "test" z listy wyłączonych usług?
(wiem, że można go włączyć, ale po prostu chcesz usunąć wpis w całości).
Uwaga:
Gdybym ponownie uruchomić komputer, widzę, że „test” sterowaniu został dodany do launchd disabled
pliku:
sudo cat /var/db/com.apple.xpc.launchd/disabled.0.plist
Wynik:
<?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>
Próbowałem uruchomieniem tego polecenia, aby ręcznie usunąć go z pliku .plist
:
sudo /usr/libexec/Plistbuddy /var/db/com.apple.xpc.launchd/disabled.0.plist -c Delete:test
To powoduje usunięcia jej z akt sprawy, ale to po prostu wraca ponownie po ponownym uruchomieniu komputera. Jakieś pomysły?
Oto dyskusja na podobny temat: http://comments.gmane.org/gmane.comp.sysutils.launchd.devel/117 –