我今天刪除了一個應用程序的桌麵條目,不小心完全刪除了 /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="
按 Escape 保存文件,然後鍵入 :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