Re: /etc/profile (era: Java)
Shell de login não significa "pedir usuário e senha". Com um 'su
usuario -' ou 'bash -l' tu tens um shell de login. Não tenho comigo
nenhuma comprovação, mas acredito que o xterm (e afins), como emulador
de terminal, não precisa solicitar usuário e senha, então ele "pula" o
login e abre um shell novo, como se fosse um shell de login.
Fiz o teste colocando no /etc/bash.bashrc um export VAR_BASHRC="OK:
bash.bahsrc" e um export VAR_PROFILE="OK: profile" no /etc/profile.
OBS: Instalação Default à partir do CD desta semana do Etch, sem
nenhuma outra customização no Debian Etch em uma máquina virtual do
kqemu
Quando abri o konsole executei:
# [ -z $VAR_BASHRC ] && echo $VAR_BASHRC || echo "FALHA: bash.bashrc
não foi lido"
O retorno foi:
FALHA: bash.bashrc não foi lido
# [ -z $VAR_PROFILE ] && echo $VAR_PROFILE || echo "FALHA: profile não
foi lido"
O retorno foi:
OK: profile
Como pode ver deu falha no /etc/bash.bashrc e não deu no /etc/profile.
Fiz os mesmos testes em um OpenBSD e em um Slackware (o hospedeiro do
kqemu). Em ambos o resultado foi exatamente igual.
Agora note que o /etc/profile é lido pelo "shell" que chama o modo
gráfico, logo seus atributos são herdados (variáveis, aliases e etc.).
Se esta informação fosse falsa os shells do modo gráfico JAMAIS
herdariam atributos como o ls colorido e etc., uma vez que isto é
presente UNICA E SOMENTE no /etc/profile.
Uma coisa bem interessante é que ao colocar um . /etc/bash.bashrc no
/etc/profile ambos os testes tiveram êxito (a variável foi exportada).
Mas isto não significa nada, eu poderia criar um
/etc/meuarquivoquedefinevarsetemumnomebemgrandemesmo e fazer um
./etc/meuarquivoquedefinevarsetemumnomebemgrandemesmo que funcionaria
da mesma forma.
Voltando ao início da discussão (Java), quando instalas pelo pacote
.deb onde que ele coloca $JAVA_HOME e altera o $PATH? Fácil, no
/etc/profile :)
--
Maxwillian Miorim
miorimmax@gmail.com
----
Slackware 10.2 / current e OpenBSD 3.8
There's no place like ${HOME}
Reply to: