Como as variáveis de ambiente são definidas em uma sessão de terminal do Gnome?

0

e obrigado antecipadamente por qualquer ajuda que alguém possa me oferecer com a minha pergunta! Espero que alguém tenha um pouco de paciência comigo e me faça passar por isso!

Estou tentando entender um processo de login de usuário no Centos 7 e fiquei um pouco confuso tentando descobrir quando / como uma sessão de terminal do Gnome define variáveis de ambiente (Gnome 3.14.4).

Por mais que eu saiba ... um terminal do Gnome só definirá variáveis de ambiente do / etc / profile, ~ / .profile ou ~ / .bash_profile se as variáveis forem exportadas nesses scripts.

Se eles não forem exportados, eles não aparecerão na saída dos comandos set ou printenv. O arquivo / etc / environment é a exceção (mas não é um script de login do shell).

A única coisa que eu descobri parece que isso é o arquivo / etc / X11 / xinit / xinitrc-common quando ele cria o script de login ~ / .profile ... Mas isso é apenas um script de login único e não explica por que variáveis exportadas em / etc / profile & ~! /. bash_profile estão sendo exibidos no conjunto.

[ -r $HOME/.profile ] && . $HOME/.profile

Se isto ler as variáveis no script ~ / .profile ... Como as variáveis estão sendo lidas para / etc / profile & ~ / .bash_profile? Se for importante ... Eu não selecionei "executar o comando como login script"

Mais uma vez ... obrigado a qualquer pessoa que esteja disposta a ler isso e me deixar direto!

    
por Bodisha 21.12.2017 / 16:31

1 resposta

0

Eu acredito que o Gnome Terminal executa o bash (o GNU Bourne Again SHell) por padrão.

Na verdade, ele provavelmente roda qualquer shell especificado para sua conta em / etc / passwd

No bash de inicialização, passa por ~ / .profile e ~ / .bash_profile, é por isso que essas variáveis são configuradas.

Então, para recapitular: quando você inicia o Gnome Terminal, ele inicia seu shell, e seu shell passa por esses scripts definindo as variáveis de ambiente.

    
por 21.12.2017 / 17:17