1
Neo 2014-11-10 15:20:37 +08:00
太折腾了,用wunderlist这样的工具方便点,而且多平台
|
2
ETiV 2014-11-10 16:04:04 +08:00 via iPhone
M a c、iOS自带“提醒事项”……
可以设定提醒时间的 |
3
dorentus 2014-11-10 17:02:14 +08:00
* DISPLAY 是 X 环境的环境变量,osascript 和 say 都不需要 X 就能运行。
* export DISPLAY=:0 && osascript -e 'display alert "G0 B4ck Up N0w"' 这样在非 interactive shell 下面,后面的命令(osascript)应该取不到前面设置的 DISPLAY 的值的吧。比较常见的写法是 env DISPLAY=:0 osascript -e 'display alert "G0 B4ck Up N0w"' * “No user interaction allowed” 是另外一个问题,解决方式可以参见: http://stackoverflow.com/a/13484552/90172 (我没试过,不过看起来可行) * say 写在 crontab 里面的话应该不会有这个问题吧 * 比较新版本 OS X 自带的 Notification Center 其实也挺适合这个需求的,有一些第三方的命令行程序可以发系统 notification,例如: https://github.com/alloy/terminal-notifier 自己写的话,估计也行。 |
4
dorentus 2014-11-10 17:08:15 +08:00
另外 launchd 可以用来启动 GUI 的程序。配置文件放在 ~/Library/LaunchAgents 下,配置文件语法参照 man 5 launchd.plist 或者苹果的文档(支持登录后自动启动、定时启动、失败后重新启动等等)。
|
5
g0t3n OP @dorentus 感谢你的 stackoverflow 链接,我之前也搜到但没仔细看.的确不需要用到 DISPLAY 变量就能直接显示了。
正确的写法应该是 $ crontab -l #minute hourly daily monthly weekly CMD 10 12 * * 1,3 sh brew update;sh brew upgrade;osascript -e 'tell application "Finder"' -e 'activate' -e 'display dialog "we have done brew update [crontab notify]"' 就是这个样子就能实现了。另外提醒信息在 /var/mail/[username] |