Este é o comando que eu uso. Funciona para mim o tempo todo:
cat /var/log/installer/media-info
Output (meu sistema) Informa corretamente que estou executando o Kubuntu
Kubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326.2)
Eu tenho um conjunto de funções no script bash que eu quero rodar apenas em sabores específicos do Ubuntu. Por exemplo, quero executar o seguinte, se eu estiver executando o Unity:
gsettings set com.canonical.indicator.datetime show-week-numbers true
mas o seguinte, se eu estiver executando o Ubuntu GNOME:
gsettings set org.gnome.shell.calendar show-weekdate true
e da mesma forma, diferentes comandos para diferentes sabores do Ubuntu.
Eu tentei ver o conteúdo de /etc/os-release
, mas ele não deu nenhuma informação sobre o sabor do Ubuntu. O seguinte é quando executado no Ubuntu GNOME:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
É possível saber qual o sabor reconhecido que estou executando usando o terminal? Eu preferiria uma solução que funcione imediatamente, sem instalar nenhum outro pacote para ambientes ao vivo e instalados. Procurar por quais pacotes estão instalados é uma possibilidade, mas eu preferiria não seguir esse caminho, embora você seja bem-vindo para dar uma resposta nessa direção.
Este é o comando que eu uso. Funciona para mim o tempo todo:
cat /var/log/installer/media-info
Output (meu sistema) Informa corretamente que estou executando o Kubuntu
Kubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326.2)
Talvez não seja um sabor como Kubuntu , Xubuntu , Lubuntu etc. Porque como Oli & amp; terdon comentários você pode instalar o Kubuntu mas executando XFCE como Desktop.
Assim, você pode obter o valor da variável de ambiente XDG_CURRENT_DESKTOP para saber o que a área de trabalho atual está executando.
por exemplo:
echo $XDG_CURRENT_DESKTOP
Nota:
Os valores da variável podem ser Unity, GNOME, XFCE, KDE, LXDE, Panteão (Elementary os).
Espero que isso ajude.
Defina ambos. Defina tudo. Fogo e esqueça.
As configurações são exclusivas o suficiente para não afetar outras coisas, então deve ser seguro ... E é muito, muito mais fácil de fazer do que precisar descobrir o que está sendo executado ... o que é instalado é possível, mas isso não é uma indicação do que o usuário realmente usa.
O seguinte if
mostrará se você está executando o Unity ou não:
if [[ "$(ps -ef | grep unity | grep $USER | grep -v grep)" =~ "unity" ]]; then
echo "I'm running Unity";
fi
Da mesma forma, você pode verificar se está executando o GNOME ou outros tipos de sabores. O importante é o nome (parte) do processo que você usa para o primeiro grep
. Você deve distinguir um processo específico que é executado o tempo todo apenas no sabor sobre o qual você está interessado.