O $PATH
que tenho quando executo o terminal em uma sessão nX é diferente do que tenho quando executo o terminal depois de fazer o login fisicamente.
O primeiro é
/home/agrimm/.rbenv/shims:/home/agrimm/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
enquanto o último é
/home/agrimm/.rbenv/bin:/home/agrimm/.rbenv/shims:/home/agrimm/.rbenv/bin:/home/agrimm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
O último tem /home/agrimm/bin/
enquanto o primeiro não (e sim, reiniciei desde a criação de /home/agrimm/bin
)
Eu suspeito que a diferença é que .profile
está sendo executado no último, mas não no primeiro.
link tem no último parágrafo:
Não-login shell tem shell de login (ou algo que se comporta como um shell de login) como pai e herdam a maior parte do ambiente variáveis, incluindo
PATH
, deste shell de login. Então colocando comandos de modificação de caminho em~/.profile
requerem que você efetue logout e de volta para que eles sejam eficazes, mas afeta o ambiente de também não-login shells (assim como o ambiente para programas que são não shells, já que todo programa recebe seu próprio conjunto de ambiente variáveis - chamado seu "ambiente" - herdado de seu pai processo).
Eu assumo que o login com o nX é "algo que se comporta como um shell de login", e que quando eu executo o terminal, o processo pai do terminal deve fornecer um $ PATH completo, incluindo home/agrimm/bin
.
Minha suposição é correta? Em caso afirmativo, como faço para que o nX execute .profile
?