快捷指令无法修改系统“自动进入睡眠”时间,但可实现按需或定时触发睡眠:通过“特定时间”自动化执行pmset sleepnow,或新建快捷指令一键立即睡眠;进阶可加电源/应用状态判断;修改休眠延迟须用系统设置或终端sudo pmset sleep x。

Mac 的快捷指令(Shortcuts)本身不能直接修改系统级的“自动进入睡眠”时间(比如把休眠延迟从 10 分钟改成 30 分钟),因为它不提供调整 pmset 中 sleep 参数的原生操作。但你可以用快捷指令实现「按需触发睡眠」或「在特定时间自动执行睡眠」,这属于行为自动化,而非参数调节。
用快捷指令定时触发睡眠
这是最常用也最实用的方式:设定一个固定时间点(比如每晚 23:00),让 Mac 自动进入睡眠状态,无需手动操作。
- 打开「快捷指令」App,切换到「自动化」标签页
- 点击「+」→「创建个人自动化」→ 选择「特定时间」作为触发器
- 设定时间(如 23:00),开启「重复」,并勾选适用日期(如每天或仅工作日)
- 点击「下一步」,添加操作 → 搜索「运行 Shell 脚本」→ 粘贴命令:
pmset sleepnow - 关闭「运行前询问」开关,确保静默执行;完成后点击「完成」
用快捷指令一键立即睡眠
适合临时离席、会议结束等场景,比合盖或菜单栏操作更快捷。
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
- 新建一个快捷指令,命名为「立即睡眠」
- 添加「运行 Shell 脚本」操作,内容为:
pmset sleepnow - 可将其添加到菜单栏、触控栏,或设置全局快捷键(需在「系统设置 > 键盘 > 快捷键 > 服务」中启用)
进阶:加条件判断再执行睡眠
避免误触发,例如只在接入电源时才允许自动睡眠,或检查是否有下载任务在进行。
- 在自动化流程中,先添加「获取电池状态」或「运行 Shell 脚本」查询当前电源:
powercheck=$(pmset -g ps | grep "AC Power"); [ -n "$powercheck" ] && echo "ac" || echo "battery" - 接着用「如果」动作判断输出是否含
ac,再决定是否执行pmset sleepnow - 也可结合「获取正在运行的应用程序」判断 Safari 或 Transmission 是否活跃,进一步提升安全性
注意限制与替代方案
快捷指令无法修改「多少分钟无操作后休眠」这类系统设置值——这个必须通过「系统设置 > 电池 > 更多节能设置」滑块,或终端命令 sudo pmset sleep 30(设为 30 分钟)来完成。
- 若你真正想改的是「闲置多久才睡」,请直接拖动系统设置里的滑块,或运行终端命令
- 快捷指令的优势在于「何时睡」和「要不要睡」,而不是「多久后睡」
- 所有基于
pmset sleepnow的操作都需要管理员权限,首次运行会弹出授权提示










