Por que não consigo logar depois de configurar a variável de envio do caminho

1

Estou usando o 12.04LST e estou tentando instalar o oracle jdk7 manualmente.

Depois, atualizo o /etc/environment para definir a variável PATH .

Este é o conteúdo original do arquivo:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

E eu atualizo assim:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/jdk1.7"
PATH="$PATH:$JAVA_HOME/bin"

Então eu faço funcionar usando:

source /etc/environment

Em seguida, digito java e javac e funcionou.

No entanto, depois de reiniciar o computador, fui mantido na tela de login.

Então eu uso ctrl+alt+f2 para ir ao terminal.

E atualize o /etc/envrionment assim:

/usr/bin/sudo /usr/bin/nano /etc/emvrionment para o seguinte:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/jdk1.7"

Então, posso fazer login novamente.

Agora tenho duas perguntas:

  1. Por que não consigo fazer login se adicionar a linha PATH="$PATH:$JAVA_HOME/bin" em /etc/envirionment ?

  2. As variáveis definidas em /etc/environment estão disponíveis para todo o usuário?

por hguser 25.04.2013 / 00:10

2 respostas

1

/etc/environment não é executado como um script, mas lido como um arquivo de configuração, portanto, nenhuma expansão de shell está disponível, portanto, as variáveis não podem ser lidas.

Se você não quiser usar variáveis, use as variáveis para toda a sessão em ~/.pam_environment .

Referência

por Eliran Malka 06.06.2013 / 19:41
0

Ok. Eu verifiquei - depende do PAM de alguma forma, se escrever para / etc / environment isso: PATH="/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: /bin:/usr/games:/usr/lib/jvm/jdk1.7/bin "e, em seguida, fonte, ele vai funcionar bem e você será capaz de fazer o login

    
por Fragles 25.04.2013 / 00:38