Estoy intentando ejecutar un AppleScript que expulsa todas las unidades (de la excelente respuesta de Monomeeth aquí ) diariamente a las 8 am usando launchd
. Después de algunas búsquedas, decidí que la mejor manera de hacerlo era usando launchd
. Sin embargo, estoy corriendo en un error.
El .plist
que tengo en mi directorio de 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 shell zsh
.
Según este sitio , debería "cargar el trabajo" en launchctl
. Hice esto ejecutando, de acuerdo con 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 la Terminal, lo que implica que algo malo ha ocurrido. Supongo que se debe a la sintaxis de mi archivo .plist
.