如何知道您使用的是哪個基於 ubuntu 的發行版?

如何知道您使用的是哪個基於 ubuntu 的發行版?

我正在編寫一個腳本,我希望根據發行版執行不同的程式碼。具體來說,這是一個用於設定新機器的腳本,我想添加 kubuntu 向後移植儲存庫(以及其他一些東西,例如安裝 kubuntu-restricted-extras),但前提是機器正在運行 kubuntu

我已經看到了一些執行此操作的方法,但它們似乎不夠具體,無法區分不同的基於 ubuntu 的發行版。例如:

  • lsb_release -auname -a即使我在 kubuntu 上也會顯示ubuntu
  • echo $DESKTOP_SESSION將顯示 Plasma,並將env | grep XDG_CURRENT_DESKTOP顯示 KDE,我認為這不會讓我區分 kubuntu 和 KDE neon

我發現似乎有效的唯一方法是:

if env | grep -q kubuntu
then
  echo "running kubuntu"
fi

但是,這似乎依賴於特定配置目錄的存在,我不確定該目錄在版本之間是否會保持穩定?有更正確的方法來做到這一點嗎?

細節

  • 該腳本只能在運行某些 ubuntu 變體的電腦上執行
  • 我需要區分的關鍵分佈是烏班圖,庫本圖,KDE霓虹燈, 和流行!。我的主要困惑源於這樣一個事實:其中 2 個發行版運行 KDE,另外 2 個發行版運行 GNOME,所以我不能簡單地檢查 DE
  • 我很高興安裝軟體來獲取此信息,但前提是它是該發行版的標準/預設存儲庫的一部分。例如,neofetch這是公平遊戲,但我聽說有時報告名稱不正確

相關內容