Ubuntu 18.04.4 重启后卡在命令行。无法访问 Ubuntu GUI

Ubuntu 18.04.4 重启后卡在命令行。无法访问 Ubuntu GUI

最近,我第一次重启了我的 Ubuntu 笔记本电脑,并遇到了一个命令行,要求登录,然后输入密码。起初,我无法弄清楚我的密码,但最终能够使用恢复模式重置它。然而,这时我意识到我在 Linux 的命令行中,请注意,完全登录到系统,但无法访问 GUI。在网上做了一些研究后,我能够使用“startx”命令找到解决方案。但是,当我这样做时,它只会抛出错误“xinit:与 X 服务器的连接丢失”。经过进一步检查,似乎这个命令适用于服务器托管的 Linux 机器,而不是我内部运行的机器。我也尝试了“sudo init 1-6”,但它们都只是将我重置为相同的命令提示符。Ctrl Alt F1-F12 也不起作用。我在下面提供了一个屏幕截图,显示了我登录命令提示符并尝试使用“startx”时得到的结果。希望有人能帮我解决这个问题。谢谢!

我应该补充一点,导致我重启笔记本电脑的原因是 Ubuntu 的 GUI 登录屏幕上出现了一个奇怪的故障,在从图标列表中选择我的用户图标时,它会不断给出身份验证错误。基本上,我会点击我的用户图标 (techi),然后会弹出密码窗口,您可以在其中输入密码,但在我输入任何内容之前,会出现一些橙色文本(通常是输错密码时出现的文本),提示存在身份验证错误。大约 1.5 秒后,它会立即返回到用户选择窗口。

*更新(同一天):我能够通过 USB 加载 Ubuntu 来恢复我的一些文件,但是当我尝试以 USB 用户身份注销并通过用户选择页面上的“未列出?”功能重新登录时,我的用户名和密码不起作用。

**更新(4-5-20):我放弃了,只是重新安装了 Ubuntu,因为看起来寻求修复比它本身更麻烦。由于这是一台辅助笔记本电脑,我只用它来进行临时编程,所以重置操作系统并不是什么大问题。现在笔记本电脑运行良好。但是,如果您知道如何修复此问题,请随时将其发布到下面,供其他不想重置的人参考。谢谢大家的帮助!

截图链接

答案1

我也遇到过同样的问题。

在锁定屏幕之前,我想删除所有进化包文件,并通过执行犯了这样的错误sudo apt remove --purge evolution-*

锁定屏幕后,我遇到了您描述的确切情况。
结果发现,我的错误ubuntu-desktop也删除了该软件包(我不知道为什么)。
使用 - 再次安装 -sudo apt install ubuntu-desktop然后sudo reboot- 瞧!我的桌面恢复了。

編輯:清除进化并没有删除ubuntu-desktop本身,它只是删除了一些支持该包的文件。

答案2

我猜,

  • 与图形堆栈相关的软件包已更新
  • 重启
  • 显示管理器(GDM)服务启动失败
  • 您已获得控制台登录

在发生这种情况之前,您是否采取了一些特殊行动?例如安装一些新软件包或编辑一些 systemd 配置文件。

如果没有,你可以先尝试简单的方法。更新系统(软件包),希望一些错误已经修复并发布。登录控制台后,输入此命令。

sudo apt update && sudo apt upgrade

如果结果良好,则重新启动。sudo reboot

如果您在更新并重启后遇到同样的情况,您有两种选择。

  1. 重新安装 - 仅当您已备份好数据和配置,并且您可以快速轻松地设置桌面设置、应用程序等时才需要。大约需要 30 分钟 - 1 小时。您每天使用的应用程序只有两三个(例如 Web 浏览器),并且大多数都使用默认设置,这非常实用。将应用程序配置和数据备份到 USB 记忆棒即可。但最终可能会发生相同的错误/失败。
  2. 解决问题

挖掘系统问题的两个基本和必要的命令是,

  1. 系统控制
  2. 日志控制

运行systemctl,然后它会显示正在运行、已退出、失败的服务(进程)。您可以通过键入键搜索字符串/。输入一些内容 - 先尝试“失败” - 然后输入。n要移动到下一个匹配项,您可以通过箭头、pgup/pgdn 进行导航。

如果您发现某些服务失败,请使用 读取其日志journalctl

# view kernel message + all services logs from current booting only
jorunalctl -b

# view logs from current booting only + specific service
journalctl -b -u example.service

如果您的网络连接正常,则可以与我们这样的人共享这些输出。首先安装文本在线共享服务(pastebin.com)的包。

sudo apt install pastebinit

然后上传这样的文本,

journalctl -b -u gdm.service | pastebinit

它会吐出短 URL。

相关内容