在修复 macbook 外接显示器连接中,ai 使我眩晕瘫坐,我仿佛看到原子弹爆炸

摘要

ai你赢了

前言

话说我购买MacBook Air M4已经有半年多了,但是一直没有尝试过连接外接显示器(主要也是因为用不上,在宿舍都直接用 win 本连了)。十一前突然想起来测试一下新买的扩展坞的 hdmi 口,结果发现连接后没反应,经过反复对比排查后发现它应该坏了,好消息是最后成功退掉。但是在这一过程中,我发现我的 macbook 即使通过可用的 dp 转接头连接显示器也没法正常工作。这就好像是你耳机听不到音乐后,发现不仅是耳机坏了,连耳朵也聋了。我也是非常的崩溃,很想感慨自己怎么买的都是残次品。

更神奇的是以下现象:

我的显示器室友们的显示器
我的 win 本正常正常
我的 macbook异常正常
室友A的 macbook正常正常
室友A的 小平板异常正常

严格来说,连上之后并不是完全无信号的状态,显示器是有微弱的暗光的,信号源也没有被切走,说明至少显示器这一侧是能识别到我的 macbook 的。

图为我买的那款扩展坞,还挺漂亮的u1s1

我的尝试

作为一个肉体凡胎的废物大学生,我自然是没什么头绪的。我分别通过搜索引擎和大模型网页对话在网络上检索相关资料,但是均没有与我类似的案例。到这一步,我本来基本上是想放弃了,因为:1. 问题太罕见,找不到解决方案 2. 我平时基本不用 mac 连显示器,影响不大;连别的显示器又不会出现问题。解决这个问题收益远小于成本 3. 真要找人修,我可能需要把显示器和笔记本一起扛过去,还不一定能解决,感觉实在有点蠢。

AI 神力

今天想着试试 codex 能不能直接帮我搞定,于是把我的问题和实验结果都发给了它。经过一段时间的人机交互后,居然真的解决了。那一刻,我眩晕瘫坐在椅子上,仿佛看到了原子弹爆炸。

成因与解决

最后发现我的 mac 上存着一条有问题的显示器配置:IndependentOutput = true。把对应的配置项删掉再重启,显示器就能正常用了。

一开始,codex 也尝试了一些常规操作,包括让我给显示器断电、重新插拔、换电脑上的接口,以及重启控制中心。这些操作都没有解决问题。但是它也发现了 mac 底层能读到这块显示器的信息,只是系统没有把它启用为正常的桌面显示器。也就是说,虽然系统设置里找不到我的显示器,但电脑其实知道它连着,还能读到型号和它支持的显示模式。只是到了真正输出桌面的环节,这块屏幕被标记为未上线、未激活。

不过,仅凭这个现象本身,还不足以判断具体原因。

顺着这个线索,codex 去检查了 WindowServer 保存的显示配置。简单理解,WindowServer 是 macOS 负责管理窗口和屏幕显示的系统组件,它会保存显示器的相关状态。然后,codex 在用户级和系统级配置中,都找到了我这块显示器对应的 IndependentOutput = true。

这个配置项相当冷门。我后来让它上网找资料,才看到有开发者记录:调用相关的系统内部接口,会写入这个字段,导致屏幕黑屏、从显示器枚举中消失,而且状态会跨重启保留。恢复需要移除这个字段,再退出登录。

尾声

codex 不逃、不躲,稳稳地把问题接住了。但是,为什么会出现这个配置项?是显示器的问题,还是我 MacOS 的 bug ?这可能只能当作是未解之谜了。

我可以非常严肃地肯定,这个问题如果没有 AI ,我是绝对没有办法解决的,主要的三点原因之前已经提到了。还是很感慨,科技的力量真的改变了我的生活(不管是正向的还是负向的)。