Crie variável ambiental global após a inicialização

Crie variável ambiental global após a inicialização

Conheço /etc/profile e /etc/environment, mas gostaria de definir uma variável ambiental global após a inicialização e o login. Por global, quero dizer uma variável de ambiente que pode ser acessada por qualquer programa (em execução no usuário atual).

Basicamente, em qualquer ponto, digamos 10 minutos após a inicialização, eu gostaria de poder executar um script que definisse algumas variáveis ​​de ambiente globais. Isso é possível?

Fundo

Estou tendo alguns problemas com o gpg-agent no Ubuntu 14.04. Os programas usam variáveis ​​ambientais para se conectarem ao processo gpg-agent. Meu problema é com várias instâncias do gpg-agent em execução (apenas uma delas tem suporte a ssh ativado). Eu gostaria de poder eliminar todas as instâncias existentes do gpg-agent e iniciar uma nova com suporte a ssh. Porém, para que outros programas possam acessar a nova instância, preciso que as variáveis ​​ambientais sejam globalizadas. Fazer isso durante a inicialização não funcionou para mim, pois o outro agente gpg parece iniciar depois do meu, substituindo as variáveis ​​ambientais.

Responder1

Às vezes enfrento um problema intimamente relacionado. Eu tenho ssh-agentuma máquina rodando sob a égide de sua área de trabalho gráfica, mas acesso a mesma máquina remotamente. Esse shell não possui variáveis ​​de ambiente.

Para isso eu uso um script que procura /procprocessos Bash e vasculha suas /proc/<pid>/environentradas, procurando por SSH_AGENT_PIDvariáveis SSH_AGENT_SOCK. Em seguida, ele recria essas entradas na sintaxe do shell, para que todo esse "script de raspagem de ambiente" possa ser evaleditado no novo shell.

Basicamente, "procure /proco que outros Bash-es estão usando para suas variáveis ​​de agente e reproduza isso nesta sessão".

informação relacionada