卡在登录屏幕 tty1(Ubuntu 20.04.2)

卡在登录屏幕 tty1(Ubuntu 20.04.2)

我通过虚拟机使用 Ubuntu,每次我退出保存当前环境或关闭电源时,再次运行虚拟机时它总是可以正常工作。尝试通过终端安装 python3 后,我注意到我的桌面(在 VM 中)的背景变为黑色,我的大多数应用程序都消失了,我无法打开任何东西。

关闭虚拟机,重新打开它,然后遇到了以前从未出现过的问题。我输入了用户名和密码,然后呢?我对这些都很不熟悉,所以不确定会发生什么。有没有办法从这个屏幕继续?我丢失了虚拟机中的所有内容吗?有没有办法恢复我在这台机器上保存和安装的内容并将其移动到新机器上?截屏

@mchid 这是输出: 屏幕截图 2 恐怕我已经搞砸了那个虚拟机,我会研究如何删除这个虚拟机以免丢失空间。惨痛的教训。

答案1

您可以尝试重新安装已卸载的软件包。首先运行以下命令:

sed -n '/^Remove/ s/([^ ]*//g;s/Remove: //p' < /var/log/apt/history.log | tee uninstalled

此命令列出已卸载的软件包并将此输出打印到名为 的文件中uninstalled

如果列表是干净的并且仅包含包名称,请运行以下命令来重新安装这些包:

sudo apt update
sudo apt install $(cat uninstalled)

安装后,重新启动以应用更改。

如果这不起作用,我建议重新安装 Ubuntu。以后,在按 y 接受更改之前,您应该始终检查要卸载的软件包列表。


进一步解释一下,该文件/var/log/apt/history.log包含您的 apt 历史记录。已卸载的软件包将在同一行的“Removed:”后列出。该sed命令会找到此行并清理列表以仅列出软件包名称。

-n选项抑制输出。

/^Remove/表示寻找以“Remove”开头的行。

s/([^ ]*//g删除每个包名称后的括号内的版本号(用空字符替换 /this/,g适用于所有实例)。

s/Remove: //p用空值替换“删除:”并打印结果。

最后,tee uninstalled将输出写入名为“uninstalled”的文件中。

相关内容