我的 Mac mini M4 是 24 小时开着的,上面跑远程桌面和各种 AI agent ,接了三块屏(贫穷人士,基本都垃圾显示器):飞利浦 Evnia 27M2N3800F ( 27 英寸 4K )当主屏,技嘉 G24F 竖着放,另外还有一个 JetKVM 。有两个场景很烦:
- 人已经出门了,才想起桌上的显示器还亮着;
- 远程连回家时没人看屏幕,显示器却一直开着。
macOS 自带的办法,要么整台机器睡眠,要么等屏幕自己超时息屏,都不太合适。所以我写了个小工具:
- **away**:通过 DDC 让实体显示器进入待机。Mac 不睡眠,系统也不认为屏幕被拔掉了,所以窗口位置不会乱,远程桌面和后台任务照常跑。
- **home**:唤醒显示器,并恢复分辨率、刷新率、竖屏旋转和镜像布局。
- 配合 Tailscale 和 iPhone 快捷指令,在外面也能一键开关。
整个工具是 Python 写的,只用标准库,大约 400 行。底层用的是 m1ddc 和 displayplacer ,配置写在一个 JSON 文件里。MIT 开源:
https://github.com/StevenZFZ/mac-display-profiles顺便分享几个踩过的坑:
1. **不要用 displayplacer 的 `enabled:false` 去关屏。** 我遇到过一次 KVM 重新插拔以后,被停用的屏幕直接从系统里消失了,只有重启才能找回来。
2. **DDC 必须直连。** Mac 自带的 HDMI 口和 USB-C 转 DP 线都可以,大部分扩展坞不传 DDC 。
3. **有的显示器待机以后不认开机命令。** 我的技嘉 G24F 接 HDMI 时就是这样,要发一次「切换输入源」才会醒。
4. **Mac mini M4 的显示引擎有限。** 主屏(飞利浦 27M2N3800F )开了 4K 160Hz 超频以后,一台屏就占了两个引擎,第三台屏怎么插都不亮。把超频关掉就好了。
目前测过的设备:Mac mini M4 ,飞利浦 27M2N3800F 走 USB-C 转 DP ,技嘉 G24F 走 HDMI 。各家显示器对 DDC 的支持差别很大,欢迎反馈你的型号能不能用,用不了欢迎反馈,不知道有没有同样场景需求的。
---
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1255530
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.