Vous avez plusieurs possibilités pour résoudre ce problème : AppleScript et un Bash (Terminal) script. Puisque cela doit se produire une fois par jour (c'est-à-dire programmé ) et vous voulez garantie pour que le fichier soit téléchargé au moment où vous vous connectez afin qu'il soit là au démarrage, puis une nouvelle fois chaque nuit à minuit, je ferais cela en Bash.
Créer le script
Le script va faire deux choses :
- Télécharger l'image
- Définir comme image de fond
Le script est assez simple. Il prend deux arguments - l'URL et l'emplacement où enregistrer le fichier. Il va ensuite le télécharger à cet emplacement de dossier :
#!/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
Sauvegardez-le dans un endroit pratique ; donnez-lui un nom évident comme getSkyForecast.sh
. Assurez-vous de rendre le script exécutable - chmod +x getSkyForecast.sh
Si vous ne le faites pas, le script ne s'exécutera pas.
Programmer le script
L'opération suivante est un peu plus complexe, car elle sera exécutée à la connexion et toutes les 24 heures.
Ensuite, le script doit être lancé avec launchd
. Pour ce faire, vous avez besoin d'un plist
(fichier XML qui décrit la fonction)
<?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>
Enregistrez ce fichier sous com.user.SkyForecast
et le copier dans le ~/Library/LaunchAgents
répertoire.
Chargez-la avec la commande :
launchctl load com.user.SkyForecast
Définir l'image de fond
La chose la plus simple à faire est d'aller dans les préférences système et de définir l'image d'arrière-plan à ce fichier (exécutez d'abord manuellement le script pour qu'il crée le fichier). Lorsque le script s'exécutera, il changera le fichier, pas le nom, de sorte que l'image du bureau changera automatiquement.