如何让我的Mac保持唤醒状态并锁定屏幕?

我想让我的Mac整夜保持唤醒状态,以便从Dropbox同步4GB的数据。我需要防止机器进入睡眠状态,因为这会暂停Dropbox的同步。
我一直在使用Caffeine来保持电脑的唤醒状态,但它也会使电脑处于解锁状态,这是不安全的。
我需要一种方法来保持我的Mac保持唤醒状态(以便Dropbox可以在夜间同步),但同时也要保持锁定状态(以免有人能读取我的电子邮件)。如果这种方法还能关闭屏幕(以节省电源),那就太好了,但老实说,这甚至不是100%必要的。

3在Yosemite中,系统偏好设置 > 节能器中有一个选项叫做“当显示关闭时防止计算机自动进入睡眠模式”。 - Daniel
在2022年的MacOS 12.01中,我成功地使用了caffeinate(没有指定特殊标志)来保持我的MacBook整夜保持唤醒和锁定状态。我每15分钟运行一个crontab任务,但早上屏幕仍然被锁定,并要求我输入密码。 - charelf
8个回答

  1. 在“系统偏好设置”中的“节能”选项中,勾选“当显示器关闭时防止计算机自动进入睡眠”(对于笔记本电脑,此选项位于“电源适配器”标签下)。
  2. 在“系统偏好设置”中的“安全与隐私”选项中,勾选“睡眠或屏幕保护开始后需要输入密码”,并在下拉菜单中将延迟设置为“立即”。

现在,您可以按下 command+option+Q 来关闭显示器而不使计算机进入睡眠状态,任何打开显示器的操作(如按键或点击鼠标按钮)都会提示您输入账户密码。

在旧款 Mac 上,快捷键略有不同:command+option+Powercontrol+shift+power


23请注意,这是在较新的Mac电脑上使用Control-Shift-Power组合键,而没有弹出键。 - dstarh
5没有弹出键的外接键盘,可以在钥匙串访问应用程序的偏好设置中勾选“在菜单栏显示钥匙串状态”选项。然后,您就可以通过点击锁定图标在菜单栏上进行“锁定屏幕”操作。 - Mengdi Gao
3如果我将设置更改为永不休眠,那么如果我手动告诉它要休眠,MacBook还会进入休眠状态吗? - NobleUplift
@NobleUplift 当然可以。 - Taylor D. Edmiston
7所以当显示器关闭并锁定时,计算机仍然处于开启状态吗?在密码提示窗口中它会继续工作吗?这是否也适用于保持脚本(如终端中的Python和PHP)持续运行? - alex9311
1是的。锁定设备和/或钥匙链并不会阻止其他进程运行。 - mikezter
2注意:现在的节能设置与回答这个问题时不同。OS X不再提供在用户界面中阻止电脑在使用电池时进入睡眠状态的方法。以下是OS X 10.11.4中当前偏好设置窗格的屏幕截图:节能设置 - jsejcksn
我有一台没有弹出键的新款Mac,只有同时按下Command - Option - Power键才能起作用。 - ClearCloud8
1我有一台2016年的MacBook Pro,但是它没有电源键。我该怎么办? - The Onin
1为什么我的下载会超时并出现错误? - powder366
如果我使用其他方式锁定屏幕会怎样?进程会继续运行吗?例如,我使用mac id锁定屏幕选项来锁定我的屏幕。 - zyy
在High Sierra下,我没有一个“当显示器关闭时防止计算机自动休眠”的选项。有一个“唤醒以进行网络访问”的选项,但昨晚当它应该在驱动器之间复制几TB的数据时,它并没有阻止计算机进入睡眠状态。 - intuited
1最新版本的Macbook上,两个热键都无法使用了。顺便说一下,在电池模式下,无法阻止Macbook在显示器关闭时进入睡眠状态。 - xuancong84
在我的Macbook Air上运行Ventura时,“当显示器关闭时防止计算机自动休眠”已经改变并移动到系统设置>显示器>高级>“当显示器关闭时防止电源适配器自动休眠”。听起来好像需要将Mac插入电源适配器。 - Josh Harrison

不确定它是何时首次可用的,但在MacOS High Sierra 10.13.4上,您可以转到Apple(左上角)> 锁定屏幕或按control-command-q来激活锁定屏幕。
您还应该按照@daGUY的答案中的第一步操作。
在“系统偏好设置”>“节能器”中,勾选“当显示器关闭时防止计算机自动进入睡眠状态”的复选框(对于笔记本电脑,此选项位于“电源适配器”选项卡下)。

在High Sierra下,我似乎没有这个选项。它是否移动到其他地方了? - intuited
在Catalina上它仍然存在,快捷键对你有效吗? - wyu
是的,我经常使用Command-Shift-Q锁屏,但有时会导致机器进入睡眠状态——我认为这种情况只会发生在没有网络活动的时候。 - intuited
按下Command Shift Q会使您注销,这是与仅显示锁屏(Control Command Q)不同的操作。另外,您是否已选中“当显示关闭时防止电脑自动进入睡眠状态”? - wyu
等一下,其实我刚刚意识到我使用的是CTRL-CMD-Q。在偏好设置 -> 节能器中没有这个选项。 - intuited

在MacOS Mojave上,接受的答案对我没有起作用。有效的方法是使用免费应用程序Amphetamine。安装应用程序后,选择“无限期”选项。现在您可以锁定屏幕,它将不会进入睡眠状态。

enter image description here


你可以使用KeepingYouAwake。它是一款免费且轻量级的菜单栏实用工具,适用于 macOS(版本10.10及更高版本),可以在预定的时间段内或者激活期间防止您的 Mac 进入睡眠模式。
您可以通过运行以下命令来轻松安装它: brew cask install keepingyouawake 它是广受欢迎的 Lighthead Software 公司开发的 Caffeine 工具的替代品。Caffeine 已经有一段时间没有更新了。KeepingYouAwake 的图标支持 Retina 屏幕,并且在深色主题的菜单栏中看起来很漂亮。
一旦您激活了 KeepingYouAwake,您只需锁定屏幕(按下 Control + Command + q),调低屏幕亮度,就可以放心地保证系统不会进入睡眠状态!

Wimoweh会在用户可选择的进程运行时自动保持您的Mac处于唤醒状态,并且还可以控制显示器是否休眠:

当任何进程正在运行时,Wimoweh允许您保持Mac处于唤醒状态-不再回来发现您的Mac在重要任务期间已经休眠。您可以选择允许每个进程休眠显示器。您可以设置一个简单的定时器或者永久保持系统处于唤醒状态。


没有必要使用外部工具,你可以使用Apple的命令行工具来完成:
# prevent idle sleep while plugged in
pmset noidle

# IMPORTANT:
# COMMANDS BELOW MUST BE RUN AS ROOT 
# (prefix the command with `sudo` or get a root session 
# by typing `sudo -i` followed by your password)

# disable sleep (while plugged in or on battery)
pmset -a disablesleep 1
# after running this command you'll notice that the Sleep option
# under the Apple menu is grayed out 

# re-enable sleep
pmset -a disablesleep 0

# prevent sleep for 1 hour while on battery (this must be run under a root session with `sudo -i`)
pmset -a disablesleep 1 && sleep 3600 && pmset -a disablesleep 0

❗️❗️❗️ 警告:使用 sudo pmset -a disablesleep 1 命令禁用睡眠后,您的 Mac 将停止进入睡眠状态,即使重新启动后,在苹果菜单下的睡眠选项也将保持灰色状态,并且即使在使用电池时也是如此。如果要恢复正常的睡眠,您必须运行 sudo pmset -a disablesleep 0 命令。
要获取更多用法信息,请在终端中使用 man pmsetman caffeinate。请记住,只有在使用交流电时,caffeinate 才能生效。

如果您没有使用苹果键盘,您可以通过鼠标来锁定它。只需在菜单栏右侧选择您的用户名,然后点击“登录窗口...”。

你可以在应用商店中尝试一下“Lock Me Now”应用。它提供了一种非常方便的方式来锁定Mac电脑。