我在一台 iMac 上有多个用户。他们保持登录状态,但完成后会通过热角将显示器置于睡眠状态。短暂一段时间后,需要输入密码,这样他们就可以在必要时切换用户。
我有一些通过脚本运行的代码,用于访问用户的库(邮件)。它设置为通过文件~/Library/LaunchAgents
夹中的启动代理为每个用户每晚(不同时间)运行。
问题是“非活跃”用户的启动代理不会触发。即使显示器(而非计算机)处于睡眠状态,它仍会为“活跃”用户触发。
我知道代理不会为已注销的用户运行。
有没有什么方法可以让两个代理都触发?
答案1
如果您通过 JXA 或 AppleScript 访问 Mail 等应用程序,则似乎无法做到这一点。如果权限在不应该更改的地方更改,则可能会发生这种情况,但我没有去过那里。
相关代码行如下:
var Mail = Application("Mail");
fromMboxRef = Automation.getDisplayString(Mail.inbox());
这不起作用,没有引发错误,只是返回到调用脚本。在 JXA 中,它应该引发错误,那么如果忽略它,try/catch 有什么意义呢?