Alterando as variáveis de ambiente da área de trabalho do Linux sem efetuar login novamente

0

Estou definindo uma variável de ambiente em particular no meu .bashrc e, uma vez que eu a forneço, ela está disponível no próprio shell e nas instâncias do gVim que inicio a partir do shell. Mas, se eu iniciar uma instância gVim através do menu GUI do sistema, essa instância não verá essa variável.

De acordo com esta resposta , o gVim herda as variáveis do ambiente de trabalho. Nesse caso, existe uma maneira de alterar dinamicamente os valores nesse ambiente ou de adicionar novas variáveis de ambiente a ele? Entendo que configurar a variável em .profile a disponibilizará para o ambiente de área de trabalho quando ela for reiniciada, mas existe uma maneira de fazer a alteração sem reiniciar ou relogar?

    
por sundar 15.08.2015 / 20:31

1 resposta

1

Cada processo herda uma cópia das variáveis de ambiente. Então, geralmente, não - você deve reiniciar toda a sessão de desktop do zero.

Pode ser o suficiente para reiniciar apenas o "menu do sistema", caso seja um programa separado - por exemplo, no Xfce4, você poderia matar xfce4-panel e iniciá-lo novamente a partir do shell 'fixo', e ele teria herdado o ambiente atualizado do seu shell.

Observe que a maioria das variáveis de ambiente deve ser definida a partir de ~/.profile , pois nem todas as sessões da área de trabalho são iniciadas pelo bash e, mesmo assim, raramente são instruídas a ler ~/.bashrc .

Como exceção, alguns programas têm funções para atualizar o ambiente de fora, porque o reinício afetaria muitas coisas, como tmux , dbus-daemon ou systemd --user . Mas mesmo eles não podem empurrar o novo ambiente para serviços já em execução.

    
por 16.08.2015 / 00:07