Autor Tópico: Script que identifique em que sessão estou  (Lida 2442 vezes)

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Script que identifique em que sessão estou
« Online: 27 de Novembro de 2012, 13:31 »
Olá à todos!

Tenho o Unity e Gnome Shell instalado aqui no meu Ubuntu 12.04, e gostaria de saber como faço para descobrir em que sessão estou. A ideia é que um script identifique em qual sessão estou entrando, se for Unity ele ativará o Classicmenu-Indicator, se for Gnome Shell ativará o Cairo-Dock (com openGL).

Sei que o script tem que inicializar junto com os outros aplicativos de sessão.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Re: Script que identifique em que sessão estou
« Resposta #1 Online: 27 de Novembro de 2012, 17:57 »
Após um tempo de busca, consegui fazer o que eu queria. Vejam o resultado:

Código: [Selecionar]
#!/bin/bash

# Identificando a sessão, se for Unity irá iniciar os programas a seguir
if [ "$DESKTOP_SESSION" == "ubuntu" ]
then
caffeine &
classicmenu-indicator &
psensor &
indicator-weather &
fi

exit 0

Agora esses programas abrem somente com o Unity. Se quiser o Gnome Shell com Cairo Dock, basta inserir um cairo-dock -c ou cairo-dock -o (esse usa o OpenGL, aceleração de hardware para efeitos) no código:

Código: [Selecionar]
#!/bin/bash

# Identificando a sessão, se for Unity irá iniciar os programas a seguir
if [ "$DESKTOP_SESSION" == "ubuntu" ]
then
caffeine &
classicmenu-indicator &
psensor &
indicator-weather &
# Se for o Gnome Shell, irá iniciar somente o Cairo Dock
else [ "$DESKTOP_SESSION" == "gnome-shell" ]
# Aceleração gráfica por hardware - OpenGL
#cairo-dock -o &
# Sem o OpenGL, use esta opção se você tiver uma placa de vídeo problematica (ATI por exemplo)
cairo-dock -c &
fi

exit 0

Eu mudei a permissão desse script criado, e em Aplicativos de Sessão procurei pelo script, coloquei um nome para descrevê-lo e pronto!
« Última modificação: 27 de Novembro de 2012, 18:16 por Sergio Benjamim »
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Re: Script que identifique em que sessão estou
« Resposta #2 Online: 27 de Novembro de 2012, 23:26 »
Alguém já notou que os ícones feios com pouca resolução no Gnome Shell, como o ícone de volume ou brilho, quando vc aumenta ou diminui pelas teclas Fn? Descobri que isso é um problema com os ícones default q o Ubuntu usa, para o Gnome Shell é preciso mudá-los para o padrão dele. Adicionei umas linhas no script para fazer essa troca (pois ainda assim eu gosto dos ícones do Ubuntu lá no Unity):

Código: [Selecionar]
#!/bin/bash

# Identificando a sessão, se for Unity irá iniciar os programas a seguir
if [ "$DESKTOP_SESSION" == "ubuntu" ]
then

# Configurações
gsettings set org.gnome.desktop.interface icon-theme ubuntu-mono-dark &

# Aplicativos
caffeine &
classicmenu-indicator &
psensor &
indicator-weather &

# Se for o Gnome Shell, irá iniciar somente o Cairo Dock
else [ "$DESKTOP_SESSION" == "gnome-shell" ]

# Configurações
gsettings set org.gnome.desktop.interface icon-theme gnome &

# Aplicativos
# Aceleração gráfica por hardware - OpenGL
#cairo-dock -o &
# Sem o OpenGL, use esta opção se você tiver uma placa de vídeo problematica (ATI por exemplo)
cairo-dock -c &

fi

exit 0
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !