
Responder1
A maneira de definir variáveis de ambiente para aplicativos de usuário por meio 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 elas envolvem a alteração de arquivos que só são lidos no momento do login. Portanto, eles não se aplicam à sessão atual. Os principais arquivos que você pode usar para isso são .profile
e .pam_environment
, ambos em seu diretório inicial; verQual é a melhor maneira independente de distribuição/shell para definir variáveis de ambiente?para uma discussão mais detalhada.
Para definir variáveis de ambiente para a sessão atual, você deve 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 GUI. (É tecnicamente possível substituir o padrão, mas poucos usuários fazem isso.) No Linux, existem centenas de shells GUI possíveis — o shell GUI geralmente é ogerenciador de janelas, às vezes um componente separado de umambiente de área de trabalho. Não existe uma maneira padrão de definir variáveis de ambiente no gerenciador de janelas ou no ambiente de desktop: cada WM/DE tem seu próprio caminho (e alguns não têm nenhum, infelizmente).
Um agnóstico do WM/DE em relação à alteração de variáveis de ambiente é editar arquivos ~/.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 shell digite
. ~/.profile
Isso carrega os novos valores das variáveis de ambiente do .profile
. Depois disso, se você executar um programa a partir 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ê terá que usar qualquer forma que o programa forneça (ou um programa complementar como parte do ambiente de área de trabalho).
Responder2
Você pode definir a variável no /etc/environment
arquivo. O formato deve ser assim:
VARIABLE=value
Esteja ciente de que a expansão de variáveis não funciona /etc/environment
e você precisa reiniciar todos os processos que usarão/precisarão desta(s) variável(ões)
Responder3
As variáveis de ambiente, por sua própria natureza, estão disponíveis para todos os processos iniciados pelo processo/shell que define as variáveis de ambiente.
Uma variável de ambiente no Unix é uma variável shell que é exportada usando export
, por exemplo
MYVAR="my value"
export MYVAR
Você normalmente define variáveis de ambiente no arquivo de inicialização do shell. No caso de bash
, isso está em ~/.bash_profile
, e muitos outros shells usam ~/.profile
.
Existem scripts de inicialização de shell para todo o sistema em /etc
(por exemplo /etc/profile
) que podem ser usados para personalizar o ambiente para todos os usuários.
Variáveis de ambiente também podem ser definidas globalmente para todos os usuários de maneira independente do shell, mas isso é feito de maneira diferente dependendo do tipo de Unix. A maioria dos BSDs pode fazer isso modificando /etc/login.conf
alguns usos do Linux /etc/environment
ou outros mecanismos.