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 -a
yuname -a
mostraré ubuntu incluso si estoy en kubuntuecho $DESKTOP_SESSION
mostrará plasma yenv | grep XDG_CURRENT_DESKTOP
mostrará 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,
neofetch
es un juego limpio, pero he oído que a vecesinforma el nombre incorrecto