如何用AppleScript实现Mac双屏刷新率自动切换修复偏色问题
解决MacBook外接显示器偏红的自动刷新率切换脚本
我完全懂你遇到的这个麻烦——外接显示器频繁偏红,手动切刷新率太折腾了。下面是补全后的AppleScript代码,能自动完成切换50Hz再切回60Hz的操作,完美适配你已有的脚本框架:
tell application "System Preferences" activate set current pane to pane "com.apple.preference.displays" end tell tell application "System Events" tell process "System Preferences" -- 切换到显示器的「显示」标签页 click radio button "Display" of tab group 1 of window "BenQ GL2450H (2)" delay 1 -- 解锁显示器设置(如果需要的话) if exists button "Unlock" of window "BenQ GL2450H (2)" then click button "Unlock" of window "BenQ GL2450H (2)" -- 若需输入密码,取消下方注释并替换为你的密码 -- keystroke "你的系统密码" -- keystroke return end if -- 点击「刷新率」下拉菜单 click pop up button "Refresh Rate" of tab group 1 of window "BenQ GL2450H (2)" delay 0.5 -- 切换到50Hz click menu item "50 Hz" of menu of pop up button "Refresh Rate" of tab group 1 of window "BenQ GL2450H (2)" delay 1 -- 再次打开下拉菜单,切回60Hz click pop up button "Refresh Rate" of tab group 1 of window "BenQ GL2450H (2)" delay 0.5 click menu item "60 Hz" of menu of pop up button "Refresh Rate" of tab group 1 of window "BenQ GL2450H (2)" delay 1 end tell end tell delay 1 tell application "System Preferences" quit end tell
关键注意事项:
- 脚本里的窗口名称
"BenQ GL2450H (2)"必须和你显示器的实际名称完全匹配,你可以在系统偏好设置的显示器窗口顶部找到这个名称,别写错了。 - 每个操作之间的
delay是给系统留反应时间,避免操作太快导致失败,你可以根据自己Mac的性能调整延迟时长(比如改成0.3秒)。 - 如果你的显示器设置处于锁定状态(有锁图标),脚本里的解锁逻辑会自动触发,若需要输入密码,记得取消注释并替换成你的系统密码。
用Automator设置登录自动执行:
- 打开「Automator」,新建一个「应用程序」项目。
- 在左侧动作库中找到「运行AppleScript」,拖到右侧工作流区域。
- 把上面的完整脚本粘贴到输入框里,保存应用(比如命名为
FixDisplayRedShift.app)。 - 打开系统偏好设置的「用户与群组」,选中你的用户账号,切换到「登录项」标签页,点击加号,把刚才保存的应用添加进去。
这样每次登录Mac的时候,脚本就会自动帮你完成刷新率切换,解决显示器偏红的问题啦!
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

