Tienes un par de opciones para abordar esto: AppleScript y un script Bash (Terminal). Dado que esto debe suceder una vez al día (es decir, programado ) y desea garantizar que el archivo se descarga en el momento en que inicia sesión para que pueda estar allí cuando comenzar y luego una vez más todas las noches a la medianoche, haría esto en Bash.
Crea el script
El script va a hacer dos cosas:
- Descarga la imagen
- Establecer como imagen de fondo
El script es bastante simple. Se necesitan dos argumentos: la URL y la ubicación para guardar el archivo. Luego lo descargará a la ubicación de esa carpeta:
#!/bin/bash
#Bash Script to Download Forecast and Set as desktop background
#User Defined VARs below:
#URL to fetch image
url="http://www.cleardarksky.com/c/YerkesObILcsk.gif?c=2239204"
#Picture file Location
picFile="/Users/Thomas/Pictures/test.gif"
#Command to retrieve picture and save to defined location
curl -o "${picFile}" "$url"
exit
Guárdalo en una ubicación conveniente; Dale un nombre obvio como getSkyForecast.sh
. Asegúrate de hacer el script ejecutable - chmod +x getSkyForecast.sh
Si no haces esto, el script no se ejecutará.
Programar el script
Lo siguiente es un poco más complejo, ya que se ejecutará al iniciar sesión y cada 24 horas.
A continuación, la secuencia de comandos debe iniciarse con launchd
. Para hacer esto, necesita un plist
(archivo XML que describe el trabajo)
<?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.user.getSkyForecast</string>
<key>ProgramArguments</key>
<array>
<string>/Users/USERNAME/Path_to_Scripts/getSkyForecast.sh</string>
<key>RunAtLoad</key>
<true/>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>00</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</dict>
</plist>
Guarde este archivo como com.user.SkyForecast
y cópielo en el directorio ~/Library/LaunchAgents
.
Cárgalo con el comando:
launchctl load com.user.SkyForecast
Establecer la imagen de fondo
Lo más fácil de hacer es ir a Preferencias del sistema y configurar la imagen de fondo para este archivo (primero ejecute el script manualmente para que cree el archivo). Cuando se ejecute el script, cambiará el archivo, no el nombre, por lo que la imagen del escritorio cambiará automáticamente.