Así que estoy tratando de escribir un launchd archivo para ejecutar una secuencia de comandos en un Mac Mini como un usuario específico cuando no están conectados. Este es el archivo 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>Label</key>
<string>com.wintr.eodemail</string>
<key>Program</key>
<string>/Users/*myusername*/Desktop/testdaemon/testdaemon.sh</string>
<key>StandardErrorPath</key>
<string>/var/log/eod-email.log</string>
<key>StandardOutPath</key>
<string>/var/log/eod-email.log</string>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key>
<integer>20</integer>
</dict>
</array>
</dict>
</plist>
Tengo esta colocado en /Library/LaunchDaemons/
y funciona bien se ejecuta como el usuario root. Funciona exactamente cuando me dicen que cuando no hay nadie conectado, sin embargo al agregar el nombre de Usuario clave de repente deja de funcionar:
<?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>Label</key>
<string>com.wintr.eodemail</string>
<key>Program</key>
<string>/Users/*myusername*/Desktop/testdaemon/testdaemon.sh</string>
<key>StandardErrorPath</key>
<string>/var/log/eod-email.log</string>
<key>StandardOutPath</key>
<string>/var/log/eod-email.log</string>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key>
<integer>20</integer>
</dict>
</array>
<key>UserName</key>
<string>*myusername*</string>
</dict>
</plist>
Cuando se me descarga y carga el archivo, a continuación, comprobar si se ha cargado correctamente con sudo launchctl list | grep wintr
se muestra:
- 78 com.wintr.eodemail
Y no se ejecuta. ¿Qué estoy haciendo mal aquí?