如何从OS X终端启动屏幕保护程序(并锁定屏幕)?

45
有没有办法从bash脚本中启动屏幕保护程序(并锁定屏幕)?
3个回答

53

你尝试过这个吗?

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

macOS High Sierra更新:

/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

如果你将该应用程序复制到用户的应用程序文件夹中,就可以使用 Spotlight 来调用它(如果你想要一个键盘驱动的解决方案,这非常有帮助)。 - Michael Whatcott
31
你可以直接使用命令:open -a ScreenSaverEngine - user3439894
5
这将不再在High Sierra上起作用,但您仍然可以使用open -a ScreenSaverEngine - Hofi
3
OP 请求启动屏幕保护程序并且锁定屏幕。启动 ScreenSaverEngine 并不会锁定屏幕。您可以轻松测试此操作。运行命令,然后移动鼠标(或者轻敲键盘),您会看到它并未锁定。 - Sri Sankaran
1
要启动屏幕保护程序并锁定屏幕,您应该设置“系统偏好设置>安全性与隐私>睡眠或屏幕保护程序开始后立即需要密码”。 - wijayaerick
请注意,从macOS Sonoma beta 2和3版本开始,这种方法已经不再有效。虽然它仍然可以启动屏幕,但按键/鼠标将无法触发锁定屏幕,直到重新启动(按两次电源可能会起作用)。我已向苹果报告了这个问题,希望他们能在发布时修复它。 - cwizou

17

这里有一个bash脚本可以完全满足您的要求:maclock

它可以通过以下命令行调用:

maclock

在幕后,它调用:

open -a ScreenSaverEngine
它还可以用来静音系统或将显示器置于睡眠状态:

它还可以用来静音系统或将显示器置于睡眠状态:

maclock --mute --display

默认情况下,maclock仅会启动屏幕保护程序,但它也可以静音并将显示器置于睡眠状态。我尝试过了,这就是它的全部功能。它实际上无法锁定屏幕。因此,原始问题中的“并锁定屏幕”部分仍未得到回答。 - hmj6jmh
@hmj6jmh这是通过系统设置进行控制的,需要从屏幕保护程序输入密码。https://support.apple.com/zh-cn/guide/mac-help/mchlp2270/mac - rouble

6
在 macOS Monterey 上,在终端中运行:
open -b com.apple.ScreenSaver.Engine

同样能在Big Sur 11.6.7上运行。 - EFE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接