Estoy tratando de ejecutar un AppleScript que expulsa todas las unidades (de la excelente respuesta de Monomeeth aquí ) todos los días a las 8 de la mañana utilizando launchd
. Después de buscar un poco, decidí que la mejor manera de hacerlo era utilizando launchd
. Sin embargo, me encuentro con un error.
El .plist
que tengo en mi usuario LaunchAgents
es el siguiente:
<?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>local.SkeletonBow.EjectAllDrivesAt8</string>
<key>Program</key>
<string>/usr/bin/osascript</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/etc/Daily\ Scripts/Eject\ All.scpt</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>08</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</dict>
</plist>
El AppleScript en cuestión, Eject All.scpt
funciona bien cuando lo ejecuto con osascript Eject\ All.scpt
en mi zsh
concha.
Según este sitio Debería "cargar el trabajo" en launchctl
. Lo hice ejecutando, según sus instrucciones, lo siguiente:
launchctl load ~/Library/LaunchAgents/local.SkeletonBow.EjectAllDrivesAt8.plist
Y luego trató de probarlo ejecutando
launchctl start local.SkeletonBow.EjectAllDrivesAt8.plist
Sin embargo, esta acción en particular hace que se muestre una cruz en el Terminal, lo que implica que algo malo ha sucedido. Supongo que se debe a la sintaxis de mi .plist
archivo.