能实现外接电源断开自动锁屏:通过快捷指令每5秒轮询ioreg命令检测externalconnected状态,为no时执行pmset displaysleepnow触发锁屏,需授权完全磁盘访问并配置快捷指令后台运行。

你正在使用Mac笔记本外接电源办公,起身离开时忘记拔掉电源线就走开,回来发现电脑仍处于未锁状态——这种场景下需要一种能感知电源状态变化并自动触发锁定的机制,而非依赖人为操作或闲置计时。
用快捷指令监听电源状态变化并锁屏
快捷指令本身无法直接监听“外接电源断开”这一硬件事件,但可通过定期轮询系统电源信息,结合状态比对实现近似响应。此方案无需第三方工具,纯系统原生,延迟约3–8秒。
第一步:打开「快捷指令」应用,点击右上角「+」新建快捷指令,命名为「电源断开自动锁屏」。
第二步:点击「添加操作」→ 搜索「运行Shell脚本」→ 添加该动作。
第三步:在脚本框中粘贴以下命令:
【ioreg -rn AppleSmartBattery | grep -q "ExternalConnected.*No" && pmset displaysleepnow】
这行命令会实时读取电池驱动注册表,判断外部电源是否已断开;若为“No”,立即执行显示器睡眠并触发锁屏验证。注意不能删减空格或引号,否则语法错误导致失效。
第四步:点击右上角「…」→ 开启「重复运行」→ 设置「间隔」为5秒 → 点击「完成」。
第五步:返回快捷指令主界面,长按刚创建的指令 → 选择「添加到主屏幕」→ 在弹出窗口中关闭「显示在主屏幕」开关,仅保留后台运行能力。
启用并确保后台持续运行
该快捷指令必须处于「正在运行」状态才能生效,且macOS默认会在屏幕锁定后暂停非关键自动化任务。因此需手动解除限制:
打开「系统设置」→「登录项」→ 点击左下角「+」号 → 在访达中定位到「快捷指令」应用(路径:/System/Applications/Shortcuts.app)→ 添加并勾选「在后台运行」。
重启Mac一次,让登录项配置完全加载。此后只要快捷指令在主界面被手动启动过一次,它就会随系统启动而持续轮询电源状态。
验证与调试方法
方法一:拔掉电源适配器,观察5秒内是否黑屏并出现登录界面;若无反应,说明脚本未执行——请检查「系统设置 > 隐私与安全性 > 完全磁盘访问权限」中是否已授权「终端」和「快捷指令」。
方法二:在终端中手动运行该命令(不带&&后半段),确认输出是否含“ExternalConnected: No”。若始终显示“Yes”,可能是电源接口接触不良或适配器未被系统识别。
方法三:打开「控制中心」→「聚焦」→ 输入“电源”→ 查看「电池」模块中“电源适配器”状态是否实时更新。这是脚本能否正确判断的前提。











