在启动时运行 AppleScript(后台)

在启动时运行 AppleScript(后台)

我想要在启动时在 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 可定制且功能非常强大。

http://developer.apple.com/MacOsX/launchd.html

答案4

为了避免出现“您是否要运行......”对话框:当您将脚本保存为应用程序包时,请取消选中“另存为”对话框中的“启动屏幕”复选框。

相关内容