如何知道您使用的是哪个基于 ubuntu 的发行版?

如何知道您使用的是哪个基于 ubuntu 的发行版?

我正在编写一个脚本,希望根据发行版执行不同的代码。具体来说,这是一个用于设置新机器的脚本,我想添加 kubuntu backports repo(以及安装 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霓虹灯, 和流行!_os。我的主要困惑源于这样一个事实:其中 2 个发行版运行 KDE,另外 2 个发行版运行 GNOME,所以我不能简单地检查 DE
  • 我很高兴安装软件来获取此信息,但前提是它是该发行版的标准/默认存储库的一部分。例如,neofetch这是公平游戏,但我听说有时报告名称不正确

相关内容