¿Cómo saber en qué distribución basada en Ubuntu estás?

¿Cómo saber en qué distribución basada en Ubuntu estás?

Estoy escribiendo un script en el que quiero que se ejecute un código diferente según la distribución. Específicamente, este es un script para configurar nuevas máquinas, y me gustaría agregar el repositorio de backports de kubuntu (y algunas otras cosas como instalar kubuntu-restricted-extras), pero solo si esa máquina ejecuta kubuntu.

He visto algunos métodos para hacer esto, pero no parecen lo suficientemente específicos como para distinguir entre diferentes distribuciones basadas en Ubuntu. Por ejemplo:

  • lsb_release -ay uname -amostraré ubuntu incluso si estoy en kubuntu
  • echo $DESKTOP_SESSIONmostrará plasma y env | grep XDG_CURRENT_DESKTOPmostrará KDE, lo que no creo que me permita distinguir entre kubuntu y KDE neon

La única forma que he encontrado que parece funcionar es:

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

Sin embargo, eso parece depender de la presencia de un directorio de configuración particular, que no estoy seguro de que permanezca estable entre versiones. ¿Existe una forma más correcta de hacer esto?

Detalles

  • El script solo se ejecutará en una máquina que ejecute alguna variante de ubuntu.
  • Las distribuciones clave que necesito distinguir sonubuntu,kubuntu,neón KDE, ypop!_os. Mi principal confusión surge del hecho de que 2 de las distribuciones ejecutan KDE y 2 ejecutan GNOME, por lo que no puedo simplemente verificar el DE
  • Me complace instalar software para obtener esta información, pero solo si es parte de los repositorios estándar/predeterminados para esa distribución. Por ejemplo, neofetches un juego limpio, pero he oído que a vecesinforma el nombre incorrecto

información relacionada