applescript 无法直接控制显示器电源,但可通过调用 macos 内置命令 pmset displaysleepnow 间接实现:执行 do shell script "pmset displaysleepnow" 可立即关闭显示器背光,电脑保持运行,且无需第三方工具、安全稳定。

AppleScript 本身无法直接控制显示器电源(比如像 Windows 的 DisplayConfig 或命令行工具 ddcutil 那样发送 DDC/CI 指令),macOS 系统级也不提供原生 AppleScript 命令来“关闭显示器背光”。但可以通过触发系统节能行为间接实现——最可靠、安全且无需第三方工具的方式是:调用 macOS 内置的 pmset 命令让显示器立即休眠。
使用 pmset 命令强制关闭显示器
macOS 的 pmset 是官方支持的电源管理工具,其中 displaysleepnow 子命令可立即让显示器进入睡眠(即关闭背光,但电脑仍在运行)。AppleScript 可通过 do shell script 调用它:
do shell script "pmset displaysleepnow"
这是目前最稳定、无需安装额外软件、不依赖硬件接口的方法。执行后显示器会立刻变黑,按下任意键或移动鼠标即可唤醒。
封装为可重复使用的 AppleScript 应用或快捷指令
你可以把上述命令保存为 .scpt 文件,或进一步打包成 App 方便点击运行:
查询 Apple 开发者文档、API 与 2014‑2025 年 WWDC 视频,搜索 SwiftUI、UIKit、Objective‑C、Swift 框架及 watch 会话。
- 打开「脚本编辑器」App,粘贴代码 → 「文件」→「导出」→ 格式选「应用程序」
- 为避免终端弹窗,勾选「取消显示启动时的警告」和「在后台运行」
- 也可配合「快捷指令」App:新建快捷指令 → 添加「运行 Shell 脚本」操作 → 输入
pmset displaysleepnow→ 保存并添加到主屏幕
注意兼容性与权限限制
该方法在 macOS Monterey(12)及更新版本上默认可用;macOS Ventura / Sonoma 中部分用户需确认「完全磁盘访问」权限是否授予「终端」或「脚本编辑器」(系统设置 → 隐私与安全性 → 完全磁盘访问)。
若提示 Permission denied,说明权限不足——不是脚本问题,而是系统安全策略限制。此时需手动授权对应应用,而非改用 sudo(不推荐,有安全风险)。
不推荐的替代方案说明
网上有些脚本尝试用 AppleScript 模拟按键(如 Control+Shift+Eject)或调用私有 API,但这些方式已失效(Eject 键消失)、不可靠或违反沙盒限制;也有依赖第三方工具如 displayplacer 或 ddcctl 的方案,但需要手动编译、开启内核扩展、适配 M 系列芯片,稳定性差且存在安全风险。
坚持用 pmset displaysleepnow 是最轻量、最符合 Apple 设计规范的做法。










