|| OSX 10.10.5]屏幕锁定时脚本执行停止了吗?


10

我运行的脚本在Terminal中需要很长时间。

在我离开MacBook时,我想在不受监督的情况下运行它,因此我从菜单(右上)中选择了用户名 > 登录窗口...,这不是注销,而是锁定屏幕。

我期望脚本能够运行。当我几个小时后返回并解锁屏幕(通过输入密码)时,我不得不发现在锁定屏幕时,脚本一直处于暂停状态,直到解锁屏幕时脚本才继续播放。

预期的行为(从其他UNIX派生类中知道)将在UI锁定且安全的同时运行。

我该如何实现?

Answers:


1

没错,快速用户切换(通过单击用户名登录窗口激活...)不会注销您,但是它确实挂起了正在运行的应用程序,从而避免了繁重的任务(甚至是媒体播放)干扰另一个用户对系统的使用。

您要做的是使用Keychain Access锁定屏幕。

⌘ cmd space,然后Keychain Access启动应用程序。然后从菜单栏中,单击“ 钥匙串访问”“首选项” →“ 常规”选中 Show keychain status in menu bar

挂锁图标将出现在菜单栏的系统区域中。只需单击“ 锁定屏幕”即可锁定屏幕。

锁屏

根据@MJK,您可能还需要阻止Mac进入睡眠状态后再走开。


7

编辑:使用macOS High Sierra(从beta 5开始),只需通过through状态栏菜单即可实现@Phong提到的相同“锁定屏幕”行为:


我认为正在发生的事情是您的计算机在切换到登录窗口后经过一定时间后进入睡眠状态,这导致脚本停止。

为了防止脚本运行时系统进入休眠状态,您可以caffeinate -s在终端机中运行(注意:只有在连接交流电源的情况下,它才能在MacBooks上运行)或将其包含在脚本中。要停止命令,请按CTRL + C。

在仍然登录时保护帐户安全的方法是在系统偏好设置中启用“要求密码”选项:

需要密码

然后,一旦显示器(不是系统)进入睡眠状态(也可以在首选项中配置),则必须输入密码才能访问该帐户。

您还可以通过按CTRL + SHIFT + EJECT(如果键盘有弹出按钮)或运行来手动触发显示睡眠pmset displaysleepnow


如果有帮助,Apple菜单中也有一个睡眠按钮。
DonielF '17

1
@DonielF的确如此,但这会使系统进入睡眠状态,从而导致脚本执行停止。这也可以通过CMD + OPTION + EJECT触发
YourMJK

该按钮不会使显示器进入睡眠状态吗?很高兴知道。
DonielF '17

2
@DonielF 除了使系统进入睡眠状态之外,使显示器进入睡眠状态
YourMJK
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.