我今天刪除了一個應用程序的桌麵條目,不小心完全刪除了 /usr/share/applications 文件夾而不是桌麵條目。當我從終端啟動應用程序時,它仍然有效,但下次我啟動我的 Fedora 機器時,我什至無法訪問 GDM 登錄屏幕。那麼,你如何解決這個問題?
您可以:
- 從官方網站下載操作系統的完整 ISO,使用 Ventoy 將其安裝到拇指驅動器上,然後將 /usr/share/applications 從 ISO 複製到您的系統。
- 您也可以重新安裝所有應用程序。與第一種方法相比,這相對容易。
嗯,第一種方法更簡單,所以本教程將介紹第二種方法。
打開tty
如果您已經登錄到您的系統,您可以直接繼續執行本教程中的安裝步驟。否則,您需要在登錄時按 以打開 TTY(TeleTYpewriter 的縮寫)。 Ctrl + Alt + F2 一鍵接一鍵。
登錄並編寫 bash 腳本
然後在終端中輸入您的用戶名和密碼登錄。為了簡化安裝過程,創建一個 bash 腳本,其中包含所有信息,包括您在發行版中安裝的所有軟件包的名稱。 使用任何文本編輯器(如 vim 或 nano)創建一個 bash 文件。
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):注意雙引號的結束列表。
" sudo dnf reinstall $pkgs
現在再次保存並退出並通過鍵入以下命令使腳本可執行:
sudo chmod +x fedora.sh
創建 /usr/share/applications 目錄
讓我們在運行腳本之前手動創建此目錄以避免錯誤。輸入如下。
sudo mkdir /usr/share/applications
確保您已連接到互聯網
接下來,確保您已通過以太網端口或 Wi-Fi 連接到互聯網。 如果您不確定您是否使用 Wi-Fi 連接到 Internet,請輸入以下命令:
# 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

下載和安裝過程可能需要一些時間,具體取決於您的網速、安裝的軟件包數量和硬件速度。完成所有這些過程後,重新啟動系統,您將看到 GDM 登錄管理器。
總結
這種方法並不完美,所以如果您仍然無法訪問某些應用程序,您可以通過以下方式手動重新安裝它們:
sudo dnf reinstall <package name>
參考
桌麵條目 – ArchWiki