Assegurando que o .profile seja executado ao usar o nX

2

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 ?

    
por Andrew Grimm 16.04.2013 / 01:29

0 respostas