Obwohl launchd und der Begriff LaunchDaemon wie Dämonen klingt, ist es der bevorzugte Weg, alles zu automatisieren. Apfel sagt in seiner Dokumentation,
Anmelde- und Abmeldeskripts sind eine veraltete Technologie. In den meisten Fällen sollten Sie stattdessen startd-Jobs verwenden, wie in Erstellen von Daemons und Agents starten beschrieben
Anmelde- und Abmeldeskripts sind Skripts, die einmal ausgeführt werden sollten und dann enden sollten. Sie werden vom Anmeldefenster ausgelöst.
Ich denke, es ist der richtige Weg, wenn Sie Ihren Befehl in eine Datei mit dem Startbefehl setzen. Erstens können Sie Startagenten ausschließen, da diese immer als Benutzer ausgeführt werden. Da Sie möchten, dass das Skript als Root ausgeführt wird, sollten Sie es unter root ablegen /Library/LaunchDaemons
( /System/Library/LaunchDaemons
würde auch funktionieren, aber System ....) und das Flag hinzufügen, RunAtLoad
aber nicht setzen KeepAlive
(oder es auf etwas wie abgestürzt setzen, siehe diese gute Dokumentation ).
BEARBEITEN, da das Skript als root ausgeführt wird. Sie könnten das weglassen sudo
. Eine andere Option wäre, ein Skript zu erstellen und es in /etc/sudoers
( visudo
) mit dem nopasswd
Flag aufzunehmen und als Benutzer auszuführen