登录时黑屏,gnome-shell 占用了 100% 的 CPU

登录时黑屏,gnome-shell 占用了 100% 的 CPU

在通常的 Ubuntu 登录屏幕上,我点击我的名字,输入我的密码,然后按 ENTER。屏幕变黑...并且一直保持黑色。我无法进入我的桌面。

如果我从另一台计算机通过 SSH 运行 htop,我可以看到/usr/bin/gnome-shell它占用了单个核心的 100%。除了 gnome-shell,系统完全处于空闲状态。htop 中的平均负载正好是 1.00。

htop 显示 gnome-shell 为 100%

今天早些时候,我把它放在那里一个多小时,但没有任何变化。从那时起,我也尝试过重新启动,但结果相同。这个桌面之前运行良好,不知道我搞砸了什么。我该如何调试正在发生的事情?

答案1

一时兴起,因为我看到了 nvidia 驱动程序的一些更新,所以我尝试切换到 nouveau。我不知道我这样做是否正确,但它解决了问题。这是我运行的:

sudo apt-get purge nvidia-\*
sudo apt-get autoclean
sudo apt-get autoremove
sudo reboot

此时,一切似乎都恢复了正常,查看“软件和更新”的“附加驱动程序”选项卡,我发现这台计算机现在使用的是 Nouveau 而不是 NVIDIA。

答案2

我的建议是首先尝试以新用户身份登录,您可以通过 SSH 创建用户:

sudo adduser testuser

尝试使用该新用户登录。如果gnome-shell仍然占用 100% 且无法工作,那么该包可能存在问题,可能是损坏的磁盘导致二进制文件/usr/bin/gnome-shell损坏,您可以通过运行以下命令进行检查:

sudo debsums -s

如果它打印任何内容,则这些包文件已被损坏(或由于某种原因被用户/程序修改,但不应该这样)

最后,如果您能够以测试用户身份登录但无法使用现有帐户登录,请尝试将主目录中的这些文件重命名为其他名称,然后登录以缩小导致问题的文件范围:

  • ~/.config
  • ~/.gconf
  • ~/.local

答案3

我遇到了同样的问题,并通过禁用启动时登录解决了该问题。

  • 转至设置 > 详细信息 > 用户
  • 点击解锁,输入密码
  • 启用自动登录

然后重新安装 nvidia 驱动程序,但请注意,如果您退出当前会话并再次登录,您将再次遇到黑屏问题(至少从我的情况来看)。但锁定屏幕并重新登录可以正常工作。

相关内容