最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
AppleScript 自动化控制显示器色温设置脚本
时间:2026-08-10 16:07:49 编辑:袖梨 来源:一聚教程网
AppleScript无法直接控制macOS显示器色温,但可通过shell命令开关Night Shift、模拟快捷键(如⌥⌘N)、UI脚本操作设置界面,或借助快捷指令App实现更可靠自动化,所有方式均需提前在隐私设置中授权。
AppleScript 本身无法直接控制 macOS 显示器的色温(如 Night Shift 或 True Tone 的开关与色温强度),因为这些功能受系统私有 API 保护,不向 AppleScript 开放。但你可以通过间接方式实现自动化——调用系统命令、触发快捷键或操作系统偏好设置界面。
使用 shell 命令切换 Night Shift
macOS 提供了 defaults 和 touch 等命令行工具来修改 Night Shift 状态(需配合重启相关进程)。虽然不能精细调节色温滑块,但可开关 Night Shift 或设为“从日落到日出”等预设模式。
- 启用 Night Shift(暖色温):
defaults -currentHost write ~/Library/Preferences/ByHost/com.apple.displayNightShiftAgent.* AutoNightShiftEnabled -bool true - 禁用 Night Shift:
defaults -currentHost write ~/Library/Preferences/ByHost/com.apple.displayNightShiftAgent.* AutoNightShiftEnabled -bool false - 执行后需重启
displaynightshiftagent进程:killall -KILL displaynightshiftagent
模拟键盘快捷键快速切换
如果你已为 Night Shift 设置了快捷键(系统设置 > 键盘 > 快捷键 > 显示器 > “打开或关闭夜览”),AppleScript 可模拟按键触发:
- 确保快捷键已启用(例如默认是 ⌥⌘N)
- 脚本示例:
tell application "System Events" to key code 47 using {option down, command down}(对应 ⌥⌘N;key code 47 是 N 键)
- 注意:需在“系统设置 > 隐私与安全性 > 自动化”中允许该脚本控制“系统事件”
通过 UI 元素操作(有限但可控)
若需精确设置色温滑块(如拖动 Night Shift 色温强度),可借助 UI Scripting 操作“显示器”设置面板。稳定性较低,依赖界面元素层级和本地化语言,仅建议用于固定环境(如英文系统):
- 打开“系统设置 > 显示器 > Night Shift”
- 用 AppleScript 定位并点击/拖动滑块(需逐级遍历 AXSlider 元素)
- 示例片段(简化版,实际需更多容错):
tell application "System Settings"
activate
end tell
tell application "System Events"
tell process "System Settings"
click button "Display" of group 1 of scroll area 1 of window "System Settings"
delay 0.5
click row 1 of table 1 of scroll area 1 of group 1 of window "Display"
-- 后续定位 slider 并 set value...
end tell
end tell
更可靠替代方案:Shortcuts + AppleScript 混合
macOS 的“快捷指令”App 支持“设置夜览”动作(含开启/关闭/设定时间范围),且能接收 AppleScript 调用:
- 在“快捷指令”中新建一个快捷指令,添加“设置夜览”动作(选择“开启”或“自定义色温”)
- 保存为“NightShiftOn”等名称
- AppleScript 中运行:
do shell script "shortcuts run 'NightShiftOn'" - 此方式无需权限弹窗,兼容性更好,推荐日常使用
不复杂但容易忽略:所有涉及系统设置的操作,首次运行前务必在“系统设置 > 隐私与安全性 > 自动化”中授权对应脚本或应用访问权限。
相关文章
- TPLink TLWR847N 无线路由器设置二级路由方法 08-30
- 舞力全开派对竞技场 舞力全开派对竞技场高胜率对战技巧与实战攻略 08-30
- Harness是什么-工程外壳和流程控制 08-30
- Atlas 血缘采集延迟从 30 秒怎么部署-环境配置 08-30
- TPLink TLWR845N 无线路由器设置为无线交换机方法 08-30
- 持续集成之Jenkins怎么安装-安装步骤和配置要求 08-30