Você pode definir as variáveis de ambiente que cada processo terá uma vez executado no Linux?

1

No Windows, você pode usar a janela a seguir para definir as variáveis de ambiente que cada processo terá uma vez executado:

Você pode fazer a mesma coisa no Linux?

    
por Steve 29.04.2017 / 04:37

3 respostas

1

A maneira de definir variáveis de ambiente para aplicativos de usuário através da interface do usuário funciona de maneira um pouco diferente no Windows e no Linux. A interface do Windows que você está usando altera os valores das variáveis na sessão atual e os valores das sessões futuras.

No Linux, as formas tradicionais de definir variáveis de ambiente funcionam no momento do login. Existem várias maneiras de fazer isso, mas envolvem a alteração de arquivos que são lidos somente no momento do login. Então eles não se aplicam à sessão atual. Os arquivos principais que você pode usar para isso são .profile e .pam_environment , ambos no seu diretório pessoal; veja Qual é o melhor maneira de distro / agnóstico de shell para definir variáveis de ambiente? para uma discussão mais detalhada.

Para definir variáveis de ambiente para a sessão atual, é necessário defini-las no processo que inicia os aplicativos: o shell da GUI. No Windows, isso é fácil porque não há escolha real de um shell da GUI. (É tecnicamente possível substituir o padrão, mas poucos usuários o fazem.) No Linux, existem centenas de shells GUI possíveis - o shell da GUI é geralmente o gerenciador de janelas , às vezes um componente separado de um ambiente de área de trabalho . Não há uma maneira padrão de definir variáveis de ambiente no gerenciador de janelas ou ambiente de desktop: cada WM / DE tem seu próprio caminho (e alguns não têm, infelizmente).

Um WM / DE agnóstico de mudar variáveis de ambiente é editar ~/.profile . Uma sintaxe básica (existem outras maneiras) é

export MYVAR='the value of the variable'

Em seguida, inicie um terminal (que executa um shell) e nesse tipo de shell

. ~/.profile

Isso carrega os novos valores das variáveis de ambiente de .profile . Depois disso, se você executar um programa desse shell, as novas variáveis serão aplicadas a esse programa. Mas se você executar um programa diretamente de um menu GUI, o programa herdará o ambiente do programa que fornece o menu GUI, então se você quiser mudar isso, você tem que usar qualquer forma que o programa forneça (ou um programa complementar como parte do programa). do ambiente de trabalho).

    
por 29.04.2017 / 14:06
1

Você pode definir a variável no arquivo /etc/environment . O formato deve ser como:

VARIABLE=value

Esteja ciente de que a variável expantion não funciona em /etc/environment e você precisa reiniciar todos os processos que usarão / precisarão dessa (s) variável (s)

    
por 29.04.2017 / 05:19
1

As variáveis de ambiente, por sua própria natureza, estão disponíveis para todos os processos iniciados pelo processo / shell que definem as variáveis de ambiente.

Uma variável de ambiente no Unix é uma variável de shell que é exportada usando export , por exemplo

MYVAR="my value"
export MYVAR

Você costuma definir variáveis de ambiente no seu arquivo de inicialização do shell. No caso de bash , isso é em ~/.bash_profile , e muitos outros shells usam ~/.profile .

Existem scripts de inicialização de shell em todo o sistema em /etc (por exemplo, /etc/profile ) que podem ser usados para personalizar o ambiente para todos os usuários.

As variáveis de ambiente também podem ser definidas globalmente para todos os usuários de maneira independente do shell, mas isso é feito de forma diferente, dependendo do seu sabor do Unix. A maioria dos BSDs pode fazer isso modificando /etc/login.conf enquanto alguns Linuxes usam /etc/environment ou outros mecanismos.

    
por 29.04.2017 / 09:40