计划在笔记本上安装Linux,但是安装有点麻烦,就把台式机的Linux备份还原到笔记本上了。不过灵异的是,开机后在登录阶段黑屏,只有一个光标在左上角不停地闪烁。以前,也遇到过类似的问题,还好最后解决了。我来给大家分享一下。
先交代一下,我迁移的系统是Debian 10,桌面环境为 xfce4 。在登录阶段黑屏,应该是 LightDM 出现了问题。
第一种方法:
按下 Ctrl Alt F1 组合键,进入控制台,输入用户名和密码登录,重启 lightdm 服务。
sudo systemctl restart lightdm.service
这种方法值得一试,在迁移 Kali Linux 的时候,成功过。但是这次失败了。
第二种方法:
进入控制台,用下面命令,删除 /var/lib/lightdm/ 下面的所有文件,然后重启 lightdm 服务。
sudo rm -r /var/lib/lightdm/
sudo systemctl restart lightdm.service
这个方法在网络中被很多人推荐,但是不太好。个人在修复 Arch Linux 的时候成功过,但是这次失败了。
第三种方法:
在控制台中,卸载 lightdm 和 lightdm-gtk-greeter ,在安装他们。这里有个不好的地方,因为复杂的依赖关系,卸载它们,会有一大堆的软件跟着被孤立。有一个折中的方法,先安装 gdm 显示管理器,再卸载 lightdm 。这个也不太推荐,因为 gdm 本身也带了一堆软件包。
第四种方法:
寻根溯源,在控制台中使用 “ sudo systemctl status lightdm ”查看服务状态。从这里可以看到服务启动失败,给出的原因是“Start request repeated too quickly” 。以前启动都是好好的,这次配置文件都没改,不靠谱,继续看 lightdm 日志。
sudo -s
cat /var/log/lightdm/lightdm.log | less
普通用户不能直接查看日志,需要给用户提权成为root。使用管道 less ,可以用光标来翻页,便于查看。执行命令,可以找到类似下面的内容,可以判断是 lightdm-gtk-greeter 启动失败。
[ 42.68s] DEBUG: Authenticate result for user test: Success
[ 42.68s] DEBUG: User test authorized
[ 42.74s] DEBUG: Greeter requests session lightdm-xsession
[ 42.74s] DEBUG: Seat seat0: Stopping greeter; display server will be re-used for user session
[ 42.74s] DEBUG: Terminating login1 session c11
[ 42.75s] DEBUG: Session pid=1654: Sending SIGTERM
[ 42.75s] DEBUG: Greeter closed communication channel
[ 42.75s] DEBUG: Session pid=1654: Exited with return value 0
[ 42.75s] DEBUG: Seat seat0: Session stopped
继续查看 gtk-greeter 的日志,可以找到下面的内容。不知道为什么,这里突然没有权限生成 .Xauthority 文件了。
Error writing X authority: Failed to open X authority /var/lib/lightdm/.Xauthority: Permission denied
如何生成这个文件呢,在 home 目录下也有这么一个文件,直接复制过来肯定不行。这时候,我灵光一闪,想起 Debian 系统有一个专门配置软件包的命令。
sudo dpkg-reconfigure lightdm
sudo dpkg-reconfigure lightdm-gtk-greeter
sudo systemctl restart lightdm
好了,到这里就看到久违的 lightdm 的登录界面了。以上就是我个人的一点心得,希望可以帮到大家。