适用于 Ubuntu 20.04 / 22.04 / 24.04,GNOME 桌面环境,常见于根分区满、家目录权限异常、域账号故障或显示管理器崩溃。
常见原因
-
根分区满了
-
/home 下有权限异常文件
-
SSSD / 域账号异常
-
GNOME / 显示管理器异常
先判断:能不能进 TTY?
在登录界面按下:
Ctrl + Alt + F3
(F3 ~ F6 都可以)
-
如果能进入黑底终端 → 系统大概率还活着,问题集中在桌面/登录会话
-
输入你的账号密码登录,继续排查
第一步:检查磁盘是否已满
执行:
df -h
重点关注根分区(例如 /dev/mapper/vgubuntu-root)。
如果使用率接近 100%
优先清理以下目录:
-
/home
-
/var/log
查看大文件:
du -sh /home/* 2>/dev/null
du -sh /var/log/* 2>/dev/null
删除不需要的日志、缓存、下载文件。清理完成后尝试回到桌面:
Ctrl + Alt + F1
第二步:检查 /home 目录权限异常
现象:某个用户登录一直转圈,但 TTY 能正常登录。
假设用户名为 zhangsan,执行:
ls -ld /home/zhangsan
ls -la /home/zhangsan | head
如果发现很多文件/目录的属主不是该用户,或被 root 或其他账号修改,可以修正属主:
sudo chown -R zhangsan:zhangsan /home/zhangsan
注意:
-
这是中等风险操作
-
只修改明确属于该用户家目录的文件
-
不要对系统目录执行 chown -R
修改完成后重新尝试登录。
第三步:域账号环境 -- 检查 SSSD / 加域状态
如果这台 Ubuntu 使用域账号登录,可能的原因:
-
域密码修改后未同步
-
SSSD 异常
-
掉域
重启 SSSD:
sudo systemctl restart sssd
查看加域状态:
realm list
特别提醒:重启 SSSD 后有丢失域控的风险,务必确认加域情况。
如果是域密码修改后出现的问题
可能还需要处理密钥环问题,或脱域再重新加域。
脱域重加域步骤(中高风险):
realm list
JoinAD.sh stop
realm leave
JoinAD.sh start
reboot
建议先确认问题确实是域相关,不要一上来就脱域。
第四步:检查 SSSD 日志文件问题
执行 systemctl status sssd 若看到类似错误:
Could not open file [/var/log/sssd/sssd.log]
按以下步骤修复:
sudo touch /var/log/sssd/sssd.log
sudo chown syslog:adm /var/log/sssd/sssd.log
sudo systemctl restart sssd
第五步:怀疑 GNOME / 显示管理器异常
如果满足以下条件:
-
TTY 能正常进入
-
磁盘未满
-
/home 权限正常
-
域/SSSD 无明显问题
则可以尝试修复图形界面。
方案 A:切换到 lightdm
sudo apt install lightdm
sudo service gdm3 stop
sudo dpkg-reconfigure lightdm
sudo service lightdm start
sudo reboot
方案 B:重装图形界面
sudo apt update
sudo apt install --reinstall ubuntu-desktop
sudo apt install --reinstall gdm3
sudo reboot
查看当前显示管理器:
cat /etc/X11/default-display-manager
推荐的排障顺序(最稳)
- 进入 TTY
Ctrl + Alt + F3
- 检查磁盘
df -h
-
如果根分区满了,先清理空间
-
判断是否为域账号机器
sudo systemctl restart sssd
realm list
- 检查 /home 权限
ls -ld /home/你的用户名
- 最后再处理图形界面(lightdm、重装 ubuntu-desktop/gdm3)
快速诊断命令汇总
df -h
realm list
systemctl status sssd --no-pager -l
ls -ld /home/你的用户名