AwakeMate AwakeMate

🛠️ 操作指南

如何让 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 一样的温和断言。

跳过那些命令。让你的 Mac 自动保持唤醒。

14 天免费试用。一次性 $39.99,无订阅。macOS 13+。

下载 macOS 版 购买 AwakeMate