用Applescript 实现自定义的动态壁纸
1. 动态壁纸 Dynamic Wallpaper
讲到在苹果上整动态壁纸,就得先聊聊他自家的方案。最早苹果在macOS Mojave 里引入了这个概念,基于每天的不同时段去变化桌面的壁纸。其所用的技术是在设置壁纸时,用一个带有时间信息的Heic 格式的图片去设置成壁纸,里面包含了多张的tiff 图片及时间信息。到了时间就切换一下里面应用的图片。这个技术整挺好,又不占用资源又实用。有那么段时间你甚至可以自已做这样的图片去实现这样的功能,但现在,在Big Sur 上是不可能的啦。因为壁纸目录在 /System/Library/Desktop\ Pictures 这里。整个系统目录是只读的,所以你是不能自已加的。
讲到这里,能实现这个功能的 “官方渠道” 就已经 “此路不通” 了。得另想办法。
在查找资料前我就想着有没有可能用脚本去做这个事,毕竟Mac 是Unix 系的东西。有没有可能可以用Bash 脚本 加一些事件勾子来实现动态壁纸呢。
经查找,可以是可以的,但和想象中的有一点点不一样。
可以使用Applescript 来做,并用Launchctl 来实现定时调用。理论上来说应该也可以用Crontab+Bash 来实现调用,但在最新的系统上Cron 好像没啥作用。即使给了全盘文件的访问权限也不行。暂估计是因为苹果的安全设计导致的。另外用Lauchctl 有Cron 所没有的好处。下面再详细说。如果你是Linux 类的机器那估计是可以用Crontab+Bash 实现这个效果的。但我没试