最近想要通过 at 命令来延迟触发一些系统通知。比如半个小时以后提醒我喝杯水啥的。

本来以为是一个很简单的小需求但是在 mac os 上遇到了一些坑,简单记录下。

开启 at

mac 系统下 at 命令并不是默认开启的。需要开启并给予完全的磁盘访问权限
https://unix.stackexchange.co...

用户执行权限问题

通过 at 命令调用一个 sh 脚本,再由 sh 脚本来执行 osscript display notification 的时候,可能会遭遇 NSNotificationCenter connection invalid 错误。这是因为执行 at 命令的时候并不是使用当前的用户,所以没有访问系统通知中心的权限。解决方案是装一下 reattach-to-user-namespace
可以参考 https://www.sapranidis.gr/osx...


tinkgu
503 声望20 粉丝

{{user.signature}}