Wie können Sie feststellen, welche Ubuntu-basierte Distribution Sie verwenden?

Wie können Sie feststellen, welche Ubuntu-basierte Distribution Sie verwenden?

Ich schreibe ein Skript, in dem ich je nach Distribution unterschiedlichen Code ausführen möchte. Genauer gesagt handelt es sich dabei um ein Skript zum Einrichten neuer Maschinen, und ich möchte das Kubuntu-Backports-Repo hinzufügen (und ein paar andere Dinge wie die Installation von Kubuntu-Restricted-Extras), aber nur, wenn auf dieser Maschine Kubuntu läuft.

Ich habe einige Methoden dafür gesehen, aber sie scheinen nicht spezifisch genug zu sein, um zwischen verschiedenen Ubuntu-basierten Distributionen zu unterscheiden. Zum Beispiel:

  • lsb_release -aund uname -azeigt Ubuntu an, auch wenn ich Kubuntu verwende
  • echo $DESKTOP_SESSIONwird Plasma zeigen, und env | grep XDG_CURRENT_DESKTOPwird KDE zeigen, was mich, glaube ich, nicht zwischen Kubuntu und KDE Neon unterscheiden lässt

Der einzige Weg, der meiner Meinung nach zu funktionieren scheint, ist:

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

Dies scheint jedoch von der Existenz eines bestimmten Konfigurationsverzeichnisses abhängig zu sein, und ich bin mir nicht sicher, ob es zwischen den Versionen stabil bleibt. Gibt es eine korrektere Möglichkeit, dies zu tun?

Einzelheiten

  • Das Skript wird nur auf einem Computer ausgeführt, auf dem eine Ubuntu-Variante läuft.
  • Die wichtigsten Verteilungen, zwischen denen ich unterscheiden muss, sindUbuntu,kubuntu,KDE Neon, Undpop!_os. Meine größte Verwirrung rührt daher, dass zwei der Distributionen KDE und zwei GNOME verwenden, sodass ich nicht einfach die DE überprüfen kann.
  • Ich installiere gerne Software, um diese Informationen zu erhalten, aber nur, wenn sie Teil der Standard-/Standard-Repos für diese Distribution ist. Zum Beispiel neofetchist es erlaubt, aber ich höre, dass es manchmalmeldet den falschen Namen

verwandte Informationen