Diferentes variáveis de ambiente dependendo do gui ou shell

1

As variáveis de ambiente de um programa diferem se ele é iniciado a partir de um terminal ou da área de trabalho (clicando em seu ícone).

Por exemplo: eu uso o bash e tenho variáveis específicas definidas no meu .bashrc para propósitos de desenvolvimento. Quando eu começo meu editor de escolha (texto sublime, mas isso é verdade para qualquer programa) a partir da linha de comando tudo funciona bem. Quando eu inicio a partir da área de trabalho (gnome 3 neste caso), as variáveis estão faltando.

Então, minha pergunta é: Qual é a maneira correta de definir variáveis que são honradas pelo desktop e pelo terminal?

    
por dassmann 27.09.2015 / 18:44

1 resposta

0

As variáveis em seu .bashrc são apenas configuradas por um bash shell, que, se as variáveis forem export ed, armazenam os vars e seus valores em seu ambiente e passam uma cópia deste ambiente para qualquer processo começa. A inicialização de sublime text da área de trabalho não invoca bash para ler .bashrc . Você poderia definir as variáveis globalmente definindo (e export ing) elas em um arquivo user.sh em /etc/profile.d (você terá que criar /etc/profile.d/user.sh ). Se você estiver em um sistema multiusuário, poderá cercar as definições com if [[ "$USER" = "me" ]] ; then ... fi , para que todos os outros (se for um conjunto não vazio) não sofram com suas definições. Veja os outros scripts em /etc/profile.d para dicas.

Para ver relacionamentos de processos e herança de ambiente, pode-se

pstree -a -c -l -p -u 1

e, claro, man pstree .

    
por waltinator 27.09.2015 / 19:07