Re: /etc/profile (era: Java)
On 4/19/06, Maxwillian Miorim wrote: [...] 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 [...] 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. Só para registrar, eu fiz uma instalação nova do Etch neste final de semana, e observei novamente que o /etc/profile não foi lido ao abrir o gnome-terminal. Maxwillian e Thiago não vão fazer o teste proposto? -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
Só para registrar, eu fiz uma instalação nova do Etch neste final de semana, e observei novamente que o /etc/profile não foi lido ao abrir o gnome-terminal. Maxwillian e Thiago não vão fazer o teste proposto? Isso vai longe... :P Não tive mais tempo para testar, assim que liberar eu mando os resultados. Citaste que teve problemas no gnome-terminal, então farei uma nova máquina virtual e instalarei novamente o Etch, desta vez apenas com o Gnome. Dependendo instalo numa máquina de verdade (só tenho que arranjar espaço para isso antes) See ya! -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/19/06, Maxwillian Miorim wrote: [...] 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. [...] Realmente está difícil chegar a um acordo aqui. Estou postando uma conversa com o Maxwillian abaixo, para ficar registrado para pesquisas futuras: Bruno: Pela sua mensagem o /etc/bash.bashrc só teria utilidade quando chamado de outro arquivo? É isso que você pensa? Maxwillian: Eu fiz vários testes com isso no meu Etch, sempre foi o /etc/profile e não o bash.bashrc. que ele chamou Bruno: Sei. Vi isso na sua mensagem. Maxwillian: É estranho até porque o /etc/profile vem antes do ~/.bashrc, o bash.bashrc deveria ser algo global mas ainda assim executado após o arquivo mestre do sh Bruno: que arquivo mestre? Maxwillian: o /etc/profile Ele serve para o bourn shell e compatíveis Bruno: Você está usando Debian agora? Maxwillian: não só bash Tenho ssh para um Bruno: Ok, você já viu o man do bash no Debian, a parte que fala do /etc/bash.bashrc? Maxwillian: When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files exist. This may be inhibited by using the --norc option. Esta? Bruno: Isso. Note que ele fala que nesse caso, o /etc/profile não é lido. concorda? Maxwillian: Sim, ele não é lido neste momento Mas note: algum shell chamou o X Logo as propriedades tem de ser herdadas Bruno: Bom, para testar essa sua hipótese, eu mandei uma mensagem ontem. Quando puder faça o teste. O que eu acho é: Seu konsole está abrindo um shell de login quando deveria estar abrindo um shell comum. Tem konsole aí? Maxwillian: Testei todos: konsole, xterm, aterm, eterm e gnome-terminal e o bom e velho rxvt Bruno: Em todos ele leu o /etc/profile? Maxwillian: Ele não leu em nenhum caso É por isso que falo bastante nisso da herança Ele não leu, herdou atributos Bruno: Como você sabe que ele não leu? Maxwillian: shopt | grep login login_shell off Assim :) Bruno: Bom, então não tenho nada a acrescentar antes de ver os resultados do teste que eu propus ontem. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
On 4/18/06, Thiago Arrais wrote: Acho que sim. Só que eu mudaria (despudoradamente) sua frase: ele só é lido durante o login. Pelo menos nos meus sistemas não parece fazer diferença se o login é gráfico ou não. O problema é que não existe o login. Um usuário pode logar várias vezes no sistema. Ainda prefiro um shell de login porque um login não precisa abrir um shell (como, aliás, penso que deveria acontecer num GDM normal). Acho que alguém no meio do caminho, algum dos programas iniciados pelo GDM ou ele próprio interpreta o /etc/profile (pelo menos nos sistemas da gente). Como o terminal é um processo filho dele, pode enxergar as mudanças. Resta saber que é que está fazendo isso e porque no seu sistema isso não acontece. Qual a saída do shopt | grep login num terminal gráfico seu? Bom, para descobrir quem está interpretando o /etc/profile na sua máquina, eu pensei em tentar rastrear a hierarquia dos processos. Sugiro colocar o seguinte no seu /etc/profile para fins de teste: date /tmp/teste-do-profile echo ID deste processo: $$ /tmp/teste-do-profile echo === saída do ps: /tmp/teste-do-profile ps /tmp/teste-do-profile echo === saída do pstree: /tmp/teste-do-profile pstree -p /tmp/teste-do-profile Com isso, acredito que as informações suficientes para rastrear quem chamou quem ficarão registradas no /tmp/teste-do-profile. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
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 [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/17/06, Thiago Arrais wrote: On 4/17/06, Maxwillian Miorim wrote: Acabei de verificar com o comando find e em nenhuma ocasião vi algo que carregasse o /etc/profile: Mesma coisa aqui. Só se alguém tiver carregando-o por tabela (carregando algum outro script que o carrega). Alguma outra idéia, Bruno? Eu andei lendo um pouco mais sobre o /etc/bash.bashrc e aprendi que seu uso é configurável em tempo de compilação. No Debian, desde dezembro de 1999, usa-se esta opção e a man page do bash no Debian foi alterada para documentar isso. Achei estranho o Thiago comentar que o Fedora não usa, porque usei bastante o Fedora 1 e podia jurar que eles usavam esse arquivo também. Talvez isso tenha sido alterado de lá pra cá. Quanto ao comentário de que o /etc/bash.bashrc deve ser chamado pelo /etc/profile, faltou destacar o se você quiser que ele seja usado em shells de login. Isso é exatamente o que eu venho repetindo aqui: shells de login (como o do Ctrl+Alt+F1) usam o /etc/profile enquanto outros shells (como os do xterm, konsole, gnome-terminal, etc.) usam o /etc/bash.bashrc. Daí a necessidade de configurar variáveis de ambiente nos dois, que foi o que iniciou toda essa discussão. Bom, tirando o problema do /etc/bash.bashrc, numa coisa acho que todo mundo concorda: o /etc/profile só é lido num shell de login. Os shells dos terminais gráficos não deveriam ser de login, porque o usuário já fez login no GDM ou equivalente. Os shells dos scripts de inicialização não deveriam ser de login porque ninguém logou ainda. Acho que alguma coisa na máquina de vocês deve estar abrindo shell de login quando não deveria. Sugiro que vocês abram um terminal gráfico e vejam se o bash é de login ou não. Isso pode ser visto na opção login_shell, assim: $ shopt | grep login login_shell off Se o de vocês for on o caso está encerrado: a culpa é do emulador de terminal. Se o de vocês também for off, significa que algum outro shell antes desse é que foi chamado como login. Resta descobrir onde. Penso que só poderia ser o X que está fazendo isso, mas não sei onde procurar isso -- até porque, como as máquinas à minha disposição não fazem isso, fica difícil... Se eu pensar em alguma coisa, aviso. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
Bruno, On 4/18/06, Bruno de Oliveira Schneider [EMAIL PROTECTED] wrote: Bom, tirando o problema do /etc/bash.bashrc, numa coisa acho que todo mundo concorda: o /etc/profile só é lido num shell de login. Acho que sim. Só que eu mudaria (despudoradamente) sua frase: ele só é lido durante o login. Pelo menos nos meus sistemas não parece fazer diferença se o login é gráfico ou não. Os shells dos terminais gráficos não deveriam ser de login, porque o usuário já fez login no GDM ou equivalente. Os shells dos scripts de inicialização não deveriam ser de login porque ninguém logou ainda. Acho que alguém no meio do caminho, algum dos programas iniciados pelo GDM ou ele próprio interpreta o /etc/profile (pelo menos nos sistemas da gente). Como o terminal é um processo filho dele, pode enxergar as mudanças. Resta saber que é que está fazendo isso e porque no seu sistema isso não acontece. Abraço, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral
Re: /etc/profile (era: Java)
On 4/13/06, Maxwillian Miorim wrote: [...] Quando fazes logon no KDM, GDM ou o que for, na realidade está abrindo um terminal, que fica no dispositivo /dev/pts/n (n é um número entre 0 e o limite do kernel, comumente 255), ou seja, tu abre um shell de login e consequentemente interpreta o /etc/profile. Abrir uma sessão X abre um pseudo-terminal? Nunca vi isso. Onde você leu sobre isso? Eu uso Debian/Etch e você? -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
Debian Sarge, Etch, Sid e Woody, tenho todos instalados e nenhum me dá problema do tipo. Uso mais o Etch em desktop. O mesmo vale para o Slackware (do 8.0 ao 10.2, os que utilizei) e o OpenBSD (desde o 3.6 até o 3.8). Em todos os citados a exportação de variáveis funciona assim como qualquer coisa que eu coloque no /etc/profile (para bourn shell (sh) e derivados) ou /etc/csh.login (para csh e derivados) -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/14/06, Thiago Arrais wrote: On 4/13/06, Bruno de Oliveira Schneider [EMAIL PROTECTED] wrote: Já que vocês insistem que isso é verdade, eu usei a sujestão do Thiago (acima). Rebootei a máquina. A VARIAVEL_ESQUISITA não estava setada, como era de se esperar. O que você está usando aí? Aqui com GDM e Gnome em um sistema Ubuntu funcionou. Deve haver alguma configuração que difere entre nossos sistemas para fazer o teste falhar para você. Será que não há algum script de usuário seu que está limpando o ambiente? É improvável, mas possível. Estou usando GDM com XFCE. Outros usuários na máquina usam GDM com Gnome. Debian Etch. Só para ter certeza, olhei todos os arquivos de inicialização do bash. Ninguém limpa o ambiente até porque isso seria meio difícil -- pensando assim rapidamente, não me vem à cabeça nenhuma forma de apagar todas as variáveis de ambiente. Sempre alterei as variáveis que preciso que valham para o sistema inteiro (todos os usuários) no /etc/profile e a coisa sempre funcionou, com login gráfico (em geral com GDM) ou não. Eu sempre vejo na lista pessoas que alteram apenas o /etc/profile e acham estranho que suas variáveis de ambiente não estejam funcionando. Aí eu digo para elas alterarem o /etc/bash.bashrc e elas passam a funcionar. Eu dei aula sobre shells durante alguns anos e meus alunos costumavam aparecer com o mesmo problema (alterar o /etc/profile não ser suficiente), mesmo em outras distros. Infelizmente, meu pedido para que os colegas da lista façam o teste que você propôs parece ter sido completamente ignorado... Me parece mais provável que no seu micro e no do Maxwillian, algum dos arquivos rc esteja mandando interpretar o /etc/profile. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
On 4/17/06, Maxwillian Miorim wrote: Debian Sarge, Etch, Sid e Woody, tenho todos instalados e nenhum me dá problema do tipo. Uso mais o Etch em desktop. O mesmo vale para o Slackware (do 8.0 ao 10.2, os que utilizei) e o OpenBSD (desde o 3.6 até o 3.8). Em todos os citados a exportação de variáveis funciona assim como qualquer coisa que eu coloque no /etc/profile (para bourn shell (sh) e derivados) ou /etc/csh.login (para csh e derivados) Já que eu olhei meus arquivos de inicialização do bash, peço que você e o Thiago também façam uma verificação: os arquivos em /etc/X11/Xsession.d/ ou o /etc/X11/Xsession em suas máquinas não estariam mandando ler o /etc/profile? -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
On 4/17/06, Bruno de Oliveira Schneider [EMAIL PROTECTED] wrote: Me parece mais provável que no seu micro e no do Maxwillian, algum dos arquivos rc esteja mandando interpretar o /etc/profile. É possível. Não havia pensado nisso. Vou verificar quando chegar em casa e publico o resultado. Abraço, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral
Re: /etc/profile (era: Java)
Bruno, Estou num sistema Fedora agora, e o manual do bash não cita esse /etc/bash.bashrc global, o que mais chega perto é o ~/.bashrc (específico para cada usuário): FILES /bin/bash The bash executable /etc/profile The systemwide initialization file, executed for login shells ~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file ~/.bash_logout The individual login shell cleanup file, executed when a login shell exits ~/.inputrc Individual readline initialization file Mas achei algo parecido no ~/.bashrc: # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi Estranho é que o manual (da shell) diz que executa o /etc/profile e nunca fala em bash.bashrc. No entanto, se as coisas não são iniciadas a partir de um shell (ou pseudo-shell, como queira) essa informação é irrelevante. De qualquer modo, seria interessante que o outro programa (qualquer que seja) que inicia as coisas imitasse o comportamento do shell, só para evitar surpresas. Mas ainda quero ver como as coisas estão na máquina de casa, uma Debian. Abraço, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral
Re: /etc/profile (era: Java)
Acabei de verificar com o comando find e em nenhuma ocasião vi algo que carregasse o /etc/profile: [EMAIL PROTECTED]:~# find /etc/X11 -type f -exec grep . /etc/profile {} \; [EMAIL PROTECTED]:~# find /etc/X11 -type f -exec grep sh /etc/profile {} \; [EMAIL PROTECTED]:~# find /etc/X11 -type f -exec grep source /etc/profile {} \; Nada retornado nos três casos e o mais estranho, é uma instalação default do Sarge com um dist-upgrade para Etch, nenhum conf foi alterado e, ao abrir o X e executar no xterm echo $VARIAVEL_ESQUISITA, o conteudo dela foi exibido na tela. Há um bash.bashrc realmente no Debian, mas leia o que tem no começo deste: # System-wide .bashrc file for interactive bash(1) shells. # To enable the settings / commands in this file for login shells as well, # this file has to be sourced in /etc/profile. Ou seja, ele deve ser chamado pelo /etc/profile com o comando source. Nunca usei este arquivo e todos os meus scripts do shell fazem referência ou são carregados pelo /etc/profile através do source arquivo. Assim que configuro o JDK, assim que configuro o JRE, Eclipse, alias para comandos e todas as minhas configurações. -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/17/06, Maxwillian Miorim [EMAIL PROTECTED] wrote: Acabei de verificar com o comando find e em nenhuma ocasião vi algo que carregasse o /etc/profile: Mesma coisa aqui. Só se alguém tiver carregando-o por tabela (carregando algum outro script que o carrega). Alguma outra idéia, Bruno? Abraço, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral
Re: /etc/profile (era: Java)
On 4/13/06, Bruno de Oliveira Schneider [EMAIL PROTECTED] wrote: Já que vocês insistem que isso é verdade, eu usei a sujestão do Thiago (acima). Rebootei a máquina. A VARIAVEL_ESQUISITA não estava setada, como era de se esperar. O que você está usando aí? Aqui com GDM e Gnome em um sistema Ubuntu funcionou. Deve haver alguma configuração que difere entre nossos sistemas para fazer o teste falhar para você. Será que não há algum script de usuário seu que está limpando o ambiente? É improvável, mas possível. Sempre alterei as variáveis que preciso que valham para o sistema inteiro (todos os usuários) no /etc/profile e a coisa sempre funcionou, com login gráfico (em geral com GDM) ou não. Abraços, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral
Re: /etc/profile (era: Java)
On 4/12/06, Thiago Arrais wrote: Podemos verificar que as modificacoes ao /etc/profile também valem para o modo grafico se definirmos nele uma variavel com um nome esquisito (para que nenhum dos scripts posteriores a sobreescreva por engano) e um valor qualquer. Depois é só olhar o conteúdo da variável em algum shell dentro do modo gráfico. Para os apressados, no final do /etc/profile: export VARIAVEL_ESQUISITA='alteracao no /etc/profile' Depois (de reiniciar ou recarregar seu /etc/profile de outro modo), no shell: [...] Já que vocês insistem que isso é verdade, eu usei a sujestão do Thiago (acima). Rebootei a máquina. A VARIAVEL_ESQUISITA não estava setada, como era de se esperar. Convido outros colegas da lista a fazer o teste, postar os resultados e ajudar a por um fim nessa lenda. On 4/12/06, Maxwillian Miorim wrote: /etc/profile é o arquivo de configurações do SH (bash é uma melhoria do sh), e no Debian é o shell padrão. O X nada mais é que uma aplicação que roda SOBRE o shell, logo HERDA as suas propriedades. Errado. O X, como qualquer aplicação pode OU NÃO ser chamada por um shell. Quem usa GDM, KDM, etc. (e é assim num usuário padrão) não tem o X chamado por um shell. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
Errado. O X, como qualquer aplicação pode OU NÃO ser chamada por um shell. Quem usa GDM, KDM, etc. (e é assim num usuário padrão) não tem o X chamado por um shell. Quem inicia o KDM, GDM e XDM é o SHELL. Os SCRIPTS DE INICIALIZAÇÃO DO RUNLEVEL fazem isto. Todo o sistema operacional roda sobre o shell, leia sobre a estrutura do kernel e tu vai entender o que eu falo. Eu não falo de no EMULADOR DE TERMINAL ou TERMINAL executar o comando startx ou algo do tipo, falo da camada do sistema relacionada à interação com o usuário, chamada SHELL ou se traduzir CASCA. -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/13/06, Maxwillian Miorim wrote: Quem inicia o KDM, GDM e XDM é o SHELL. Os SCRIPTS DE INICIALIZAÇÃO DO RUNLEVEL fazem isto. É verdade, esqueci deste detalhe. Porém o shell que executa os scripts de inicialização não é um shell de login e portanto não é afetado pelo /etc/profile. Ou você tem alguma outra explicação para o fato de que eu fiz o teste do Thiago e ele se comportou como eu esperava? Todo o sistema operacional roda sobre o shell, leia sobre a estrutura do kernel e tu vai entender o que eu falo. Se o shell é uma interface para o sistema operacional, como é que todo o sistema operacional roda sobre o shell? Indique algo mais específico sobre a estrutura do kernel que eu leio, se já não tiver lido antes. Eu não falo de no EMULADOR DE TERMINAL ou TERMINAL executar o comando startx ou algo do tipo, falo da camada do sistema relacionada à interação com o usuário, chamada SHELL ou se traduzir CASCA. Não entendi o que você quis dizer nesse parágrafo. Todo shell é camada do sistema relaciona à interação com o usuário. Os scripts de inicialização só são usados porque essa é uma forma fácil e configurável de iniciar o sistema. Poderia ser diferente, como é em outros sistemas operacionais. -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
Bruno, Estes são trechos da manpage 1 referente ao Bash: ... --noprofile Do not read either the system-wide startup file /etc/profile or any of the personal initialization files ~/.bash_profile, ~/.bash_login, or ~/.profile. By default, bash reads these files when it is invoked as a login shell (see INVOCATION below). ... When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior. ... OBS: A manpage do sh diz o mesmo que a do Bash, e o mesmo vale para o Ksh Quando fazes logon no KDM, GDM ou o que for, na realidade está abrindo um terminal, que fica no dispositivo /dev/pts/n (n é um número entre 0 e o limite do kernel, comumente 255), ou seja, tu abre um shell de login e consequentemente interpreta o /etc/profile. Voltando à manpage, note que se tiveres um ~/bash_profile, um ~/.bash_login ou um ~/.profile estes serão executados após o /etc/profile (o que for encontrado primeiro, na ordem citada, é executado e os demais não), faça um teste com um novo usuário (crie um e faça logon no modo gráfico) -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
/etc/profile (era: Java)
On 4/11/06, Maxwillian Miorim wrote: [...] OBS: Configurações do /etc/profile afetam *sim* o modo gráfico. Você poderia indicar alguma documentação ou algum teste que suporte essa sua afirmação? -- Bruno de Oliveira Schneider http://www.dcc.ufla.br/~bruno/
Re: /etc/profile (era: Java)
On 4/12/06, Bruno de Oliveira Schneider [EMAIL PROTECTED] wrote: On 4/11/06, Maxwillian Miorim wrote: [...] OBS: Configurações do /etc/profile afetam *sim* o modo gráfico. Você poderia indicar alguma documentação ou algum teste que suporte essa sua afirmação? Defina o PATH para um local diferente no /etc/profile (no fim dele, para ter certeza de que nada sobrescreve), depois compile um binário e copie para o local referenciado. Em qualquer terminal (xterm, ttys e etc) ou nos gerenciadores de tarefa (se for na opção executar) vais conseguir executar o binário. /etc/profile é o arquivo de configurações do SH (bash é uma melhoria do sh), e no Debian é o shell padrão. O X nada mais é que uma aplicação que roda SOBRE o shell, logo HERDA as suas propriedades. O exemplo que tens para isto é o princípio da orientação à objetos em relação à herança. -- Maxwillian Miorim [EMAIL PROTECTED] Slackware 10.2 / current e OpenBSD 3.8 There's no place like ${HOME}
Re: /etc/profile (era: Java)
On 4/12/06, Maxwillian Miorim [EMAIL PROTECTED] wrote: Defina o PATH para um local diferente no /etc/profile (no fim dele, para ter certeza de que nada sobrescreve), depois compile um binário e copie para o local referenciado. Em qualquer terminal (xterm, ttys e etc) ou nos gerenciadores de tarefa (se for na opção executar) vais conseguir executar o binário. ...se nenhum dos scripts que rodam após o /etc/profile modificarem o PATH. Dê uma olhada em `man bash` para detalhes sobre a ordem de execução dos scripts. Podemos verificar que as modificacoes ao /etc/profile também valem para o modo grafico se definirmos nele uma variavel com um nome esquisito (para que nenhum dos scripts posteriores a sobreescreva por engano) e um valor qualquer. Depois é só olhar o conteúdo da variável em algum shell dentro do modo gráfico. Para os apressados, no final do /etc/profile: export VARIAVEL_ESQUISITA='alteracao no /etc/profile' Depois (de reiniciar ou recarregar seu /etc/profile de outro modo), no shell: % echo $VARIAVEL_ESQUISITA alteracao no /etc/profile Abraço, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral