Como o ambiente do shell é carregado ao efetuar login graficamente?

7

Descobri que, ao fazer login graficamente, o processo de carregamento do shell funciona de maneira diferente do que o login no console. Variáveis de ambiente como $BASH_VERSION e $ZSH_VERSION não são configuradas ao efetuar login graficamente, e um script escrito especificamente para bash e zsh que tentei usar durante o login faz com que o processo de login seja reiniciado e retorne-me ao prompt de login ( o que me impede de fazer login enquanto este script está no lugar), ao efetuar login através do console, a mesma configuração funciona bem.

Neste tópico chruby no github , falo sobre o caso em que estou enfrentando o problema. O processo de carregamento do shell está funcionando como deveria ao fazer login graficamente e, se houver, há alguma documentação sobre como ele funciona (e, em caso afirmativo, onde posso encontrá-lo)? Como devo fazer isso funcionar?

    
por Mark 05.02.2013 / 15:26

1 resposta

1

Se você iniciar uma sessão X11, os arquivos ~/.profile e semelhantes não serão originados.

Se você quiser impor isso, crie um arquivo /etc/X11/Xsession.d/95-enforce-profile com o seguinte conteúdo:

    # This file is sourced by Xsession(5), not executed.
    # source user profile
    if test -e ~/.bash_profile
    then
        . ~/.bash_profile
    else
        [ -e ~/.profile ] && . ~/.profile
    fi
    
por H.-Dirk Schmitt 26.02.2013 / 01:58