起缘
今天想装置个HP驱动,然后点了下更新(默许就全部更新了),但网速又不给力。下载、装置到一半…
期间,我发现打不开不了设置了,其时想着可能是因为没更新完吧,才会有这种问题。
……
然后后面锁了一下屏幕,就发现进入不了桌面了!!
只能重启再试试了……
重启后更是黑屏了!!
幸亏黑屏的经历多…不然我就炸了。。。
问题排查
这里问题排查是复盘,所以有些截图已经和开始的对不上了
进入不了桌面的话,那就进入 tty3 界面吧:alt + f3 (或者是 ctrl + alt + f3)
打开发动日志
sudo vim /var/log/boot.log
找到 gdm.service 发动失败,查看下服务状况
systemctl status gdm.service
查看下这个服务是怎样运转的,手动运转试试是什么报错
cat /usr/lib/systemd/system/gdm.service
$ /usr/bin/gdm
/usr/bin/gdm: symbol lookup error: /usr/bin/gdm: undefined symbol: g_string_free_and_steal
看来是某个库变动了,导致 g_string_free_and_steal 这个参数消失了(被卸载了?或者是新晋级的版别弃用了?)。决定网上搜一下…
看起来这和 glib 这个东西有关,搜索一下有啥glib的东西没装置的,装回来试试先
pacman -Ss glib
官方库(core/…),前几个都有个 glib 库,并且是glib2?也不知道是什么,表示这底层的核心库,那先装置了再说吧!
sudo pacman -S glib
装置完从头运转
/usb/bin/gdm
发现不会报错信息了!!
赶忙重启试试能不能进桌面!!
…
大功告成!
总结
晋级仍是装置什么软件时,给我卸载掉了 glib2,导致进入不了桌面。在桌面系统中,进入不了设置的这个现象,已经明显提示咱们桌面有问题了,今后一定要警觉!警觉!再警觉!
问题排查的思路
- 查看发动日志(/var/log/boot.log),找到犯错进程/服务
- 手动运转应用服务(/usr/bin/gdm),查看真正报错原因
- 依据报错原因,查找并装置(或者卸载)应用/依靠(pacman -S glib2)