I have a launchd daemon definition
<?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>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string> </dict> <key>Label</key> <string>homebrew.mxcl.docker-machine</string> <key>ProgramArguments</key> <array> <string>/usr/local/opt/docker-machine/bin/docker-machine</string> <string>start</string> <string>default</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>UserName</key> <string>sysbh</string> <key>WorkingDirectory</key> <string>/Users/sysbh</string> </dict> </plist>
At boot time, this does not work. But when logged in, I can get it to run with
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.docker-machine.plist
Any tips what I can do to find out why the launchd plist doesn't get the program started during boot/startup, but does later?
And suppose (which is a distinct possibility) that this daemon depends on another launchd daemon having been run first (and to make it complicated: that daemon only runs once to install kexts), is there a way around that problem?