Variável no /etc/profile não funciona

Iniciado por rog02, 23 de Fevereiro de 2012, 21:26

tópico anterior - próximo tópico

rog02

Boa noite senhores!

Essa é minha primeira postagem aqui, espero que a primeira de muitas, não apenas pedindo ajuda, mas contribuindo também.

Minha dúvida é a seguinte: Coloquei na última linha do /etc/profile o seguinte:

export PS1="\[\0330;31m\] etc..."

O que está entre aspas não é bem isso, mas enfim, é um daqueles códigos malucos de alterar as cores do shell padrão. O propósito que é isso vire um padrão para todo usuário, ou seja, todos os usuários devem ter o conteúdo da variável $PS1 alterado, inclusive o root. No entanto, essa alteração não surte efeito. Se eu coloco exatamente a mesma linha no final do ~/.bashrc de cada usuário e do /root/.profile do root, funciona. É só logar e a aparência da linha de comando tá lá, colorida. No entanto, de acordo com o que acredito, o /etc/profile deveria ter a mesma função dos arquivos que funcionaram, mas a diferença é que ele é universal, correto? Já não sei se estou certo, se não me engano no Debian puro é assim e funciona.

Por isso, gostaria de perguntar se vocês sabem algo sobre isso, se quando exportamos alguma variável no /etc/profile essa declaração ocorre em todo carregamento do sistema. Se não for assim, sabem qual arquivo devo editar para conseguir o que quero?

Obrigado desde já

zekkerj

Já reiniciou o sistema depois da alteração? Num sistema gráfico, isso é imperativo.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

irtigor

Qual versão do ubuntu? O sistema está atualizado?

rog02

#3
A versão é a 11.04, mas eu já testei em outra (11.10) e mesmo assim o resultado foi o mesmo. Ambas estão atualizadas.

Aliás, a título de informação, a linha em questão é exatamente essa:

export PS1='\[\033[1;32m\][\u] \[\033[0;37m\]@ \[\033[1;33m\][\h]\[\033[0;37m\]:\w\$ '

Atenciosamente,
Roger Príncipe

zekkerj

Olha, eu acho que há outro motivo pra isso não estar funcionando... já pensou que essa variável pode estar sendo setada em outro script que seja executado depois do /etc/profile? Eu por exemplo achei um ajuste do PS1 no arquivo ".bashrc" da minha pasta HOME...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

rog02

Putz, é verdade mano, no meu ".bashrc" também! Tem uma estrutura "if" tratando essa variável. Se ele é sempre executado depois do /etc/profile, tá desfazendo o que eu coloquei lá...

Vou ter que me virar com um link para um script na pasta /etc/rc2.d (nível de inicialização). Talvéz seja executado depois. Vou postar aqui informando se deu certo, fica registrado pro pessoal que precisar um dia.

Se alguém aí conhecer alguma outra forma de fazer isso para todos os usuários, a sugestão será bem vinda.

Obrigado pela ajuda zekkerj


zekkerj

... não seria mais fácil editar os ".bashrc" dos seus usuários e desativar esses "ifs"?

Vc só precisa fazer isso pros usuários já existentes, pra fazer pros novos usuários pode ir no diretório "/etc/skel" e mudar o arquivo ".bashrc", assim os novos usuários criados vão ter a alteração da forma que vc quer.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

rog02

Olá,

Pois é, vou fazer isso mesmo. À propósito, criar um script para exportar a variável não funcionou, pos ele chama um bash filho e a variável fica lá. Teria que chamar esse script assim:

. shell_colorido.sh

Com um espaço antes entre o ponto (".") e o nome do script... mas beleza, vou tratar esse if e mudar o .bashrc do /etc/skel mesmo. Aliás, aprendi mais uma! Não sabia de onde eram puxados os arquivos para os novos usuários.

Muito obrigado galera!