Cada shell tem uma maneira diferente de acessar variáveis de ambiente (por exemplo, Existe um arquivo equivalente" .bashrc "lido por todos os shells? ). Para programas gráficos que são iniciados por meio do shell subjacente ao gerenciador de exibição, dependendo de como o gerenciador de exibição foi iniciado, as variáveis de ambiente são configuradas em locais diferentes (por exemplo, .xsession
ou .xinitrc
).
Para sistemas com o PAM, parece que o pam_env é consistentemente "originado" no login.
Consegui resolver meu problema criando .pam_environment
:
PATH DEFAULT=/home/strongbad/.bin
Eu tive que codificar no meu diretório pessoal, apesar da página do manual dizer que:
DEFAULT=${HOME}/bin:
deve funcionar.
Eu também tive que modificar /etc/profile
de
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"
para
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/bin"
desde que /etc/profile
foi simplesmente sobrescrevendo o valor definido por .pam_environment
.
Para atualizar .pam_environment
, você precisa fazer logout / login. Se você estragar $PATH
, isso pode dificultar o login. Vale a pena manter-se logado em outro lugar (por exemplo, um TTY) para que você possa consertar as coisas com facilidade.