如何通过shell脚本检测DE是Unity还是XFCE?

如何通过shell脚本检测DE是Unity还是XFCE?

我有一些配置脚本,每次安装新版本的 Ubuntu 时都会运行这些脚本。然而,最近我迁移到了 Xubuntu。我想对两个发行版使用相同的脚本,因为它们非常相似,但我也希望脚本的某些部分仅在 Xubuntu 下执行,而其他部分仅在 Ubuntu 下执行。

我的问题是:有没有办法通过 shell 脚本区分这些发行版?

我尝试使用该lsb-release应用程序,但它似乎无法在Xubuntu下实现;我也尝试阅读 的内容/etc/*-release,但两个发行版中的内容似乎相似。

$ lsb_release 
No LSB modules are available.
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.04
DISTRIB_CODENAME=vivid
DISTRIB_DESCRIPTION="Ubuntu 15.04"

答案1

不可能区分 Xubuntu 和 Ubuntu,因为它们是相同的发行版。 Xubuntu和Ubuntu是两个不同的安装程序,它们设置不同的桌面环境,但在初始安装后,管理员可以安装额外的桌面环境。用户可以在初始 Ubuntu 安装后运行 XFCE,也可以在初始 XFCE 安装后运行 Unity。

如果您想根据桌面环境进行不同的设置,这是每用户设置,而不是全局设置。由于用户可以在不同时间运行不同的桌面环境,因此您应该为两者做好准备(以及 KDE、twm 等)。

相关内容