Archlinux系统更新是滚动更新,所以更新失败又被叫做"滚挂了"
此次滚挂发生在1月27日,过了那么久了才想起来该记录了......
现象
滚挂的现象是,能够进系统,但是笔记本电脑自带的显示器无法显示图形界面。根据本人排查问题的经验,首先想到的是如何更加精确的定义现象。所以做了这一些尝试:
- 外接的显示器,可以进图形界面
- 用VNC,可以启动图形界面

问题解决尝试一
既然是更新导致的,那么回退有可能可以搞定。Archlinux更新的包与旧的包保存在/var/cache/pacman/pkg中,通过ls按时间排序,找到了几个相关的东西,即内核、固件、nvidia驱动。
到此依然不行,直接手动启动Xorg也不行。
问题解决尝试二
回退不行,那就只能试试全过程法了(这招真的是屡试不爽),即图形界面到显示到显示器的整个过程挨个排查。
全过程法依赖于我对正常流程的理解。我使用的是KDE桌面,KDE要用Xorg才能启动,之后的过程就不知道了。然后显示数据肯定会走到内核或者驱动中,之后的过程也不知道,最后会显示到显示器上。也就是说,目前想到的过程是:KDE->Xorg->...->内核或驱动->...->显示器。
中间不知道的怎么办?车到山前必有路,船到桥头自然直,我相信我排查到Xorg之后,就可以弄清楚Xorg之后的流程了。
根据之前"精确定义的现象",得出结论:
- KDE与Xorg大概率是没有问题,因为可以外接显示器并且启动
- Xorg没有核心的更新,所以Xorg大概也没有问题
- 显示器是正常的,因为windows是可以启动的。
所以出现问题的地方可能是:
- 内核或驱动
- Xorg与内核或驱动的结合方式,大概率就是Xorg没有配置对
- 内核或驱动与显示器的结合方式
1通过回滚试了,没用。
至于2,检查了/etc/X11/xorg.conf.d/的两个配置文件,没啥头绪,只记得linux的nvidia驱动不是很好用,就改了 /etc/X11/xorg.conf.d/10-optimus-manager.conf 中关于nvidia的部分,修改如图,原本文件中写的那两行被注释了。

然后?然后就意外地解决了?!
所以到底是为啥?我现在只知道这大概率和我默认选择nvidia显卡相关,但是更加具体的我真不知道。