$ PATH em / etc / profile não herdado pelo shell do usuário

1

Eu tenho isso em /etc/profile no Fedora 17:

PATH=$PATH:"/usr/pgsql-9.2/bin"
EDITOR="/usr/bin/emacs -nw"
PSQL_EDITOR="/usr/bin/emacs"
PAGER="/usr/bin/less"

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL EDITOR PSQL_EDITOR PAGER

A concatenação da variável $ PATH entra em vigor quando eu faço o login como root ou como postgres , mas não quando faço login na minha conta. Estou usando o terminador.

Como root:

# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/pgsql-9.2/bin:/root/bin

Como postgres:

$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/pgsql-9.2/bin:/usr/pgsql-9.2/bin

Na minha conta:

$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/cpn/.local/bin:/home/cpn/bin

Observe a ausência do caminho /usr/pgsql-9.2/bin .

/home/cpn/.bash_profile tem esta linha:

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH

Quando eu su - (perceba o - ) para minha conta o caminho está lá, então eu acho que é uma questão de login vs not login shell.

Como fazer com que o terminal abra sempre um shell de login?

    
por Clodoaldo 09.10.2012 / 01:10

2 respostas

2

Se você quiser o diretório nas sessões PATH for all , adicione-o a /etc/environment . Tenha cuidado se você fizer isso - se você estragar o PATH em /etc/environment , há uma chance de o seu sistema não inicializar mais.

    
por 06.02.2013 / 21:50
1

Não sei se essa é a correção correta. Eu verifiquei Run command as a login shell no terminador - > perfis - > Comando.

    
por 09.10.2012 / 01:27