您有几个选项可以解决这个问题:AppleScript和Bash(终端)脚本。由于这需要每天发生一次(意味着已安排),并且您希望保证在您登录的那一刻下载文件,以便在您开始时可以在那里,然后每晚在午夜再次,我会这样做在巴什
创建脚本
该脚本将做两件事:
脚本非常简单。它需要两个参数 - URL和保存文件的位置。然后它会将其下载到该文件夹位置:
#!/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
将它保存在方便的位置; 给它一个明显的名字就像getSkyForecast.sh
。确保使脚本可执行 - chmod +x getSkyForecast.sh
如果不这样做,脚本将不会运行。
安排脚本
以下内容有点复杂,因为它将在登录时运行,每24小时运行一次。
接下来,需要启动脚本launchd
。为此,您需要一个plist
(描述作业的XML文件)
<?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>
将此文件另存为com.user.SkyForecast
并将其复制到~/Library/LaunchAgents
目录中。
使用以下命令加载它:
launchctl load com.user.SkyForecast
设置背景图像
最简单的方法是进入系统偏好设置并将背景图像设置为此文件(首先手动运行脚本以创建文件)。脚本运行时,它将更改文件,而不是名称,因此桌面图像将自动更改。