「Manjaro」更新失败,无法进入桌面(已解决)

3,297 阅读2分钟

起缘

今天想安装个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,导致进入不了桌面。在桌面系统中,进入不了设置的这个现象,已经明显提醒我们桌面有问题了,以后一定要警惕!警惕!再警惕!

问题排查的思路

  1. 查看启动日志(/var/log/boot.log),找到出错进程/服务
  2. 手动运行应用服务(/usr/bin/gdm),查看真正报错原因
  3. 根据报错原因,查找并安装(或者卸载)应用/依赖(pacman -S glib2)