🛠️ 操作指南
如何让 Mac 保持唤醒(说实话,每一种方法都在这)
阻止 Mac 睡眠真正有效的方法有四种:caffeinate 命令、电源设置覆盖、合盖模式,以及一个自动完成这件事的工具。这里给出实际的命令 - 以及每种方法的坑。
1. caffeinate 命令(快速、安全的那个)
macOS 自带 caffeinate。它是最安全的手动方案,因为命令一结束,正常睡眠就会恢复 - 没有什么需要撤销的。
# 让 Mac 保持唤醒,直到你按下 Ctrl-C
caffeinate
# 精确保持唤醒 2 小时(7200 秒)
caffeinate -t 7200
# 仅在某条命令执行完之前保持唤醒
caffeinate -i make build
# 参数:-i 空闲睡眠,-d 显示器,-m 磁盘,-s 接通电源时,-u 用户活跃
caffeinate -dimsu 这里的坑:它是手动的、非此即彼的。你得为每次运行都包一层,还得记着去停止它;它让整台 Mac 保持唤醒,而不是某个特定 App;而且它只在开盖时有效。
2. 用 pmset 覆盖电源设置(强大,但有风险)
你可以直接修改系统的电源策略。这些命令需要 sudo,并且会一直生效,直到你改回来或重启。
# 接通充电器时永不睡眠
sudo pmset -c sleep 0
# 设置系统级的禁止睡眠标志(最强的覆盖方式)
sudo pmset -a disablesleep 1
# 撤销它
sudo pmset -a disablesleep 0 这里的坑:它是系统级的,而且很容易忘 - 那样 Mac 就再也不会睡眠了,即使空闲也是如此,这会耗尽电池并让机器发烫。在 Apple Silicon 上,disablesleep 在许多机型上能让 Mac 合盖后仍保持唤醒,但 Apple 在某些机型上会强制睡眠,所以并不保证有效。
3. 合盖模式(官方支持的合盖使用方式)
Apple 官方支持的合盖使用 Mac 的方式是合盖模式。它需要硬件配合:把 Mac 接上电源、一台外接显示器,以及一个外接键盘或鼠标,然后合上盖子,它就会继续运行。
这里的坑:你需要随身带着显示器和外设,而且在 M1/M2 MacBook Air 上只支持一台外接显示器。它很可靠,但并不是「合上盖子走人」那么简单。
合盖本身就是个大话题 - 关于合盖模式的步骤、pmset disablesleep 标志,以及为什么 caffeinate 永远撑不过一次合盖,请看如何让 Mac 合盖后保持唤醒。
4. 简单的办法:AwakeMate
AwakeMate 做的事和 caffeinate 一样 - 温和的、仅阻止空闲睡眠的电源断言 - 但它是自动的,并且只针对你选定的 App 和工具生效。不用输入命令去启动,也不用记着去停止。
自动、按工具区分
只在你选定的 App 或命令行工具运行时保持唤醒 - Xcode、ffmpeg、Claude Code - 然后就让 Mac 睡眠。
感知空闲
对于 CPU 密集型任务,开启空闲睡眠,任务一完成 Mac 就立刻睡眠。不会有东西一直撑着它不睡。
默认安全
它绝不改动你已保存的节能设置,也不会在系统级留下任何让你忘掉的东西。没有遥测数据收集。
合盖选项
一个可选的合盖模式,在大多数 Apple Silicon Mac 上都有效 - 合上你自己的盖子试试就知道。若要保证合盖有效,请用合盖模式。
14 天免费试用 · 一次性 $39.99 · 无遥测 · macOS 13+
你该用哪种?
一次性的快速任务,开盖
用 caffeinate -i your-command。自动清理,无需撤销。
合盖,且要保证有效
使用合盖模式,配合外接显示器和电源。
你经常这么做
用 AwakeMate,让它自动、按工具区分地完成,你再也不用盯着某条命令。
要整晚运行 AI 智能体?看看为什么智能体需要你的 Mac 保持唤醒。
常见问题
怎样从 Terminal 让 Mac 保持唤醒?
运行 caffeinate。单独使用时,它会阻止空闲睡眠,直到你按下 Ctrl-C;caffeinate -t 3600 让它保持唤醒一小时;caffeinate -i make build 仅在那条命令执行完之前保持唤醒。它在开盖时有效,并且让整台 Mac 保持唤醒,而不是某个特定 App。
caffeinate 在合盖时有效吗?
不行。caffeinate 只在开盖时阻止空闲睡眠。合上盖子后 Mac 仍会睡眠,除非你使用合盖模式(外接显示器 + 电源)或一个能设置系统禁止睡眠标志的工具。
caffeinate 和 pmset disablesleep 有什么区别?
caffeinate 是一个临时的、按会话生效的断言,命令一结束它就消失 - 安全且自动清理。sudo pmset -a disablesleep 1 设置的是一个持久的系统级标志,会一直生效,直到你清除它或重启,并且需要 root 权限。它更强大,但很容易忘,对电池也有风险。
有没有不需要 Terminal 命令的办法?
有 - AwakeMate。它会盯着你选定的 App 和工具,只在它们运行时让 Mac 保持唤醒,然后就让它睡眠,没有需要启动或停止的命令。它底层用的是和 caffeinate 一样的温和断言。