Is the property list owned by root? If it is not, it is not loaded on login even if launchctl load
(without sudo) would load it.
$ sudo launchctl load /Library/LaunchAgents/test.plist
launchctl: Dubious ownership on file (skipping): /Library/LaunchAgents/test.plist
nothing found to load
$ sudo chown root /Library/LaunchAgents/test.plist
$ sudo launchctl load /Library/LaunchAgents/test.plist
$
If the program is meant to be run when the property list is loaded, set RunAtLoad to true:
<key>RunAtLoad</key>
<true/>
Also you can normally use /Library/LaunchAgents/ instead of /System/Library/LaunchAgents/. From man launchd
:
~/Library/LaunchAgents Per-user agents provided by the user.
/Library/LaunchAgents Per-user agents provided by the administrator.
/Library/LaunchDaemons System-wide daemons provided by the administrator.
/System/Library/LaunchAgents Per-user agents provided by Mac OS X.
/System/Library/LaunchDaemons System-wide daemons provided by Mac OS X.
chmod 600
(orchmod 644
) andchown root
.