


























macOS 提供了许多精美的壁纸,但是看久了总会腻。找了很多 macOS 上的壁纸软件,用起来不是很顺手,因此自己写了一份脚本,从 Unsplash API 获取随机图片作为壁纸,自动刷新。爱折腾的小伙伴可以试试。
(1) 首先,创建一个新的应用

(2) 其次,同意协议

(3) 接着,填写 App 名称和描述

(4) 最后,往下拉找到 Access Key

python3 脚本我已经放到 Github
要注意文件中提示的应该修改的部分,一个是 TOKEN,另一个是 PROXIES 代理。
(1) 创建一个文件夹名为 Wallpapers 用于放置脚本, 将 python 脚本(random_pic.py)放在这个文件夹
我把创建的文件夹放在了 /Users/{用户名}/Pictures 下
如果你不是放在这里,后面几个脚本的对应路径需要知道如何修改
(2) 安装 virtualenv,并创建虚拟环境文件夹
都在上述文件夹 Wallpapers 下进行,需要先安装 Python3,建议使用 brew
brew install python3
pip3 install virtualenv
virtualenv env
source env/bin/activate
pip install requests
(3) 新建并编写 macOS 下自动任务脚本,命名为 com.unsplash.plist
注意下面注释里要求更改的部分
<?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>
<!-- Label 制定自动脚本的名称 -->
<key>Label</key>
<string>com.unsplash.plist</string>
<!-- 指定要运行的脚本 -->
<key>ProgramArguments</key>
<array>
<!-- 请将 {你的用户名} 更改为自己的用户名,以下同样要改 -->
<string>/Users/{你的用户名}/Pictures/Wallpapers/wallpaper.sh</string>
</array>
<!-- 指定要运行的时间间隔,以秒为单位 -->
<key>StartInterval</key>
<integer>600</integer>
<!-- 标准输出文件 -->
<key>StandardOutPath</key>
<string>/Users/{你的用户名}/Pictures/Wallpapers/run.log</string>
<!-- 标准错误输出文件,错误日志 -->
<key>StandardErrorPath</key>
<string>/Users/{你的用户名}/Pictures/Wallpapers/log.err</string>
</dict>
</plist>
(4) 新建并编写 wallpaper.sh
如果你不清楚下面脚本语句的作用,最好不要修改
#!/bin/sh
cd /Users/$USER/Pictures/Wallpapers
# 获取图片的文件名
title=$(/Users/$USER/Pictures/Wallpapers/env/bin/python /Users/$USER/Pictures/Wallpapers/random_pic.py)
echo $title
# 暂停5秒等待图片缓存写入文件
sleep 5
# 图片地址
localpath="/Users/$USER/Pictures/Wallpapers/images/$title.jpg"
osascript -e "tell application \"Finder\" to set desktop picture to POSIX file \"$localpath\""
# 提示壁纸更换完成
osascript -e "display notification \"壁纸更换成功\" with title \"壁纸更换脚本\""
(5) 设置自动刷新
cd ~/Library/LaunchAgentslaunchctl load -w 'com.unsplash.plist'
launchctl start 'com.unsplash.plist'launchctl unload -w 'com.unsplash.plist'
launchctl load -w 'com.unsplash.plist'
(6) 此时
/Users/{你的用户名}/Pictures/Wallpapers 下应有两个文件为 random_pic.py 和 wallpaper.sh
/Users/{你的用户名}/Library/LaunchAgents/ 下应该有 com.unsplash.plist
大功告成,此时,你的壁纸应该会每隔十分钟自动刷新!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。