我今天早些时候删除了一个应用程序的桌面条目,然后我错误地完全删除了 /usr/share/applications 文件夹而不是桌面条目。 从终端启动时应用程序仍然有效,但是当我下次打开我的 Fedora 机器,我什至无法访问 GDM 登录屏幕。 现在,你如何解决这个问题?
您可以执行以下操作之一:
- 从他们的官方网站下载您的操作系统的完整 ISO 并使用 Ventoy 将其加载到拇指驱动器中,然后将 /usr/share/applications 从 ISO 复制到您的系统。
- 您也可以只重新安装所有应用程序,与第一种方法相比,这相对容易。
现在,第一种方法很简单,所以我将在本教程中讨论第二种方法。
打开 TTY
如果您已经在登录系统中,那么您可以直接进行本教程的安装步骤。 如果没有,那么在登录时,您必须通过按打开一个 TTY(TeleTYpewriter 的缩写) Ctrl + Alt + F2 一个接一个的键。
登录并写一个 bash 脚本
现在,在终端中输入您的用户名,然后输入您的密码并登录。为了简化安装过程,我们将创建一个 bash 脚本将包含所有信息,其中包含我们已经安装在您的发行版上的所有软件包的名称。 创建一个 bash 使用您喜欢的文本编辑器(例如 vim 或 nano)创建文件。
vim fedora.sh # or for the nano editor users : nano fedora.sh
现在,如果您使用 vim 编辑器,请按“I”键进入插入模式,如果您使用 nano,则直接开始编写以下脚本:
#!/bin/bash pkgs="
现在通过按转义键保存文件,然后键入 :wq 如果您使用 vim 并且使用 nano,请按 Ctrl + O 和 Ctrl + X 保存并退出。 现在,我们必须创建另一个包含所有包名称的文本文件,然后将其附加到第一个脚本的末尾。 再次键入以下内容以创建该文本文件:
rpm -qa | sort > ~/pkgs.txt
您可以打开文本文件并确认这些是您不想安装的文件,但除非您知道自己在做什么,否则我不会推荐这样做。 现在是时候将包名附加到我们的脚本中了,输入:
cat pkgs.txt >> fedora.sh
现在,再次使用您喜欢的编辑器打开脚本,并在脚本末尾添加以下行(如果您使用的是 vim,请按 Shift + g 到文件底部)。 请注意,有一个双引号 close 名单:
" sudo dnf reinstall $pkgs
现在,再次保存并退出,然后通过键入以下命令使脚本可执行:
sudo chmod +x fedora.sh
创建 /usr/share/applications 目录
在我们执行脚本之前,让我们手动创建这个目录,这样我们就不会遇到任何错误。 键入以下内容:
sudo mkdir /usr/share/applications
确保您已连接到 Internet
现在,请确保您已通过以太网端口或 Wi-Fi 连接到互联网。 如果您不确定是否要使用 Wi-Fi 连接到互联网,请键入以下命令:
# To check the connection status nmcli dev status # To scan all the available devices nmcli dev wifi list # To connect to a device, type : nmcli --ask dev wifi connect SSID
执行脚本
脚本执行非常简单,只需在终端中输入以下内容:
./fedora.sh
现在坐下来放松一下,下载和安装过程将需要一些时间,具体取决于您的 Internet 速度、安装的软件包数量和硬件速度。 完成所有这些过程后重新启动系统,GDM 登录管理器将迎接您。
概括
此方法并不完美,因此如果您仍然无法访问某些应用程序,则可以使用以下命令手动重新安装它们:
sudo dnf reinstall <package name>
参考
桌面条目 – ArchWiki