A execução de script na sessão de configuração não sabe $ DESKTOP_SESSION

1

Eu tenho um ambiente multi-desktop com o Unity e o KDE. Por motivos, instalei apenas os ambientes sem as ferramentas específicas, como nautilus ou dolphin .

Como os usuários (eles são PCs multiusuários) precisam dessas ferramentas para funcionar, escrevi um script, que instala as ferramentas específicas para o ambiente em que o usuário está logado e remove as outras (ou seja, o usuário logado em KDE , o script instala dolphin e remove nautilus ). Isso funciona muito bem, infelizmente os usuários têm que lembrar de executá-lo.

Eu queria automatizar esse processo adicionando este script a lightdm , colocando um arquivo de configuração em /usr/share/lightdm/lightdm.conf.d com esta aparência:

  [SeatDefaults]
  session-setup-script=/opt/install-tools.sh

e realizando a verificação do ambiente dentro do script chamado, com:

case "$DESKTOP_SESSION" in
    ubuntu)
        do stuff....
        ;
esac

mas como indicado no título, a variável não está definida neste ponto.

Eu também tentei adicionar um script que continha apenas a parte de instalação e remoção ao script /usr/share/xsessions , mas que também falhou, já que eu não tinha permissão de root naquele momento. E não posso alterar a regra de sudoers para ativar apt-get para usuários não-root, pois não quero que ninguém consiga instalar software nessas máquinas.

Alguém tem uma alma para isso? Ou pelo menos uma boa ideia, como eu poderia consertar isso?

    
por Moritz Dafelmair 11.08.2016 / 16:07

0 respostas