修理计算机——KDE Plasma 黑屏
技术 36

描述

正常开机,从 sddm 登录用户进入 KDE Plasma,黑屏无反应。正常情况应该是显示加载界面(如下),然后进入桌面。

image

通过 Ctrl + Alt + F3​ 可进入 tty,命令行终端正常。重启后切换其他用户登录,可以正常进入 KDE 桌面。

系统为 Arch Linux,KDE Plasma 版本为 6.3.1,Wayland 协议。

排查过程

通过 sudo pacman -Syyu​ 更新系统,重启后无果。可见与系统没有更新无关。

开机过程正常,怀疑不是硬件和系统的问题。试了下从 sddm 登录其他用户,竟然成功进入桌面,且运行正常,那能确定

  1. 与显卡驱动无关;
  2. 系统正常,KDE Plasma 正常;
  3. 估计与黑屏用户的家目录某个配置文件有关。

上网搜索,看到 登陆kde黑屏最终解决方案 - 代码先锋网,尝试删除 ~/.config​ 下与 Plasma 相关的配置文件,无果。又找到 Troubleshooting/Black Screen - KDE UserBase Wiki,看到最后的 startx​ 命令,想到试试在 tty 下登录黑屏用户执行 startplasma-wayland​ 命令,结果成功启动 Plasma 并进入桌面。于是怀疑问题不在 Plasma 上,而在从 sddm 启动 Plasma 的过程上。

上网搜索,定位到 sddm 的日志文件 ~/.local/share/sddm/wayland-session.log​,其上赫然写着

/home/user/.profile: line 1: /home/user/.local/share/../bin/env: No such file or directory

好家伙,再进 ~/.profile​ 一看,多了一行

. ~/.local/share/../bin/env

破案了,原因是从 sddm 登录时加载了 .profile​,而这一行使得 sddm 报错,没有继续引导进入 KDE 桌面,从而陷入黑屏。

解决方案

检查 sddm 日志文件 ~/.local/share/sddm/wayland-session.log​,若显示

/home/user/.profile: line 1: /home/user/.local/share/../bin/env: No such file or directory

进入 ~/.profile​ 删除引起错误的一行

. ~/.local/share/../bin/env

重启后再登录即可。

吐槽

折腾了一个晚上,没想到一个简单的操作即可解决。不知道是哪个程序进 .profile​ 拉屎了……