内容提要
文章介绍了用`pmset`命令解决MacBook电池限充后合盖休眠的问题。通过执行`sudo pmset -a disablesleep 1`和`sudo pmset -a sleep 0`,可永久禁止系统休眠,比Amphetamine更可靠,因直接修改内核级电源配置。验证用`pmset -g`,恢复时改回0和10。注意合盖不睡会耗电,显示器关闭不受影响。
延伸解读
适用场景与风险
此方法适合需要合盖持续运行任务的用户,如远程访问或下载。但注意,不插电时合盖不睡会持续耗电,可能快速耗尽电池。若仅需开盖时阻止休眠,需更精细配置,避免影响日常使用。
与第三方工具的区别
Amphetamine等工具通过用户态断言阻止休眠,可能被系统级行为覆盖。pmset直接修改内核电源配置,优先级更高,更可靠。但pmset设置全局生效,不如工具灵活,且需管理员权限。
验证与恢复
执行后可用`pmset -g`检查SleepDisabled和sleep值确认生效。恢复时改回`disablesleep 0`和`sleep 10`即可。注意此设置重启后仍生效,恢复需手动执行命令。
Q&A
MacBook合盖后总是自动休眠,如何用pmset命令彻底禁止?
在终端中执行两行命令:`sudo pmset -a disablesleep 1` 和 `sudo pmset -a sleep 0`。第一行禁止系统进入睡眠,第二行将休眠定时器设为0(永不)。执行一次后重启依然生效。
为什么使用AlDente限充后MacBook合盖会休眠?
因为AlDente限制充电后,电池处于放电状态,macOS会误判为“没在充电+空闲”,从而触发休眠逻辑,合盖时直接进入睡眠。
pmset disablesleep和Amphetamine阻止休眠的原理有何不同?
Amphetamine是通过创建用户态assertion来阻止休眠,属于应用层,有时会被系统级行为覆盖;而pmset直接修改内核级电源管理配置,优先级更高,更可靠。
如何验证pmset禁止休眠是否生效?
运行`pmset -g`查看当前设置,如果看到`SleepDisabled 1`和`sleep 0`即表示生效。也可以运行`pmset -g assertions`查看哪些进程在阻止休眠。
使用pmset禁止休眠后,如何恢复默认设置?
执行`sudo pmset -a disablesleep 0`和`sudo pmset -a sleep 10`即可恢复,其中sleep 10是默认的休眠定时器(10分钟)。
MacBook合盖不睡眠会有什么副作用?
主要副作用是不插电时合盖不睡会持续耗电,需要注意电量。另外,该设置对所有场景生效,包括合盖,如果只想合盖不睡但开盖正常休眠,需要更精细的配置。