我想要在启动时在 Mac OS X 上运行 apple-script。该脚本应在用户会话的整个生命周期内运行。
实现这一目标的最佳解决方案是什么?
我的脚本:
on idle
do shell script "/usr/local/bin/wol -p 9 0:1d:63:19:b7:32"
delay 120
end idle
任何帮助都将非常感激。
答案1
在脚本编辑器中保存脚本时,另存为应用程序包,然后将其添加到登录系统偏好设置中的启动项中:
如果你希望它在后台运行,你可以使用iBackground 脚本,一个让 applescript 在后台运行的免费工具。
答案2
我知道您的问题是关于运行 Apple 脚本,但如果该脚本每 2 分钟运行一次/usr/local/bin/wol
,那么更简单的解决方案可能是使用启动守护程序?
要么在/Library/LaunchDaemons
没有用户登录的情况下连续运行,要么~/Library/LaunchDaemons
按用户运行(请记住,如果有多个用户登录,则可能会有多个实例正在运行)。
至少您不必担心弹出窗口会妨碍您。
答案3
作为 AppleScript 方式的替代,我通常使用 launchd 来处理此类事情。launchd 可定制且功能非常强大。
答案4
为了避免出现“您是否要运行......”对话框:当您将脚本保存为应用程序包时,请取消选中“另存为”对话框中的“启动屏幕”复选框。