Suponha que algum programa aleatório Foo
- modifica seu comportamento de acordo com os valores das variáveis de ambiente; e
- pode ser iniciado clicando em algum ícone do Foo disponível por meio de uma área de trabalho gráfica.
Vamos supor, para o resto deste post, que
todas as instâncias de Foo em discussão foram, ou serão, iniciadas como descrito em (2) acima. IOW, para este post, descarta a possibilidade de iniciar o Foo através de alguma linha de comando.
Por concretude, vamos supor também que a atual sessão X11 foi iniciada "manualmente" pelo usuário; ou seja, digitando startx
na linha de comando (interface de texto) em algum momento depois de um login (interface de texto) 1 .
Agora, AFAICT, por padrão, o ambiente herdado por todas as instâncias de Foo é o existente no momento em que o usuário executou startx
2 . (Por favor, me corrija se eu estiver errado.)
Minha pergunta é: Existe alguma maneira genérica (ou seja, independente do Foo) para eu modificar o ambiente herdado por instâncias subseqüentes do Foo (ou pelo menos pela próxima instância do Foo que é iniciada)?
Antecipando a possibilidade de que a resposta à questão (geral) acima seja "Não", abaixo eu forneço alguns detalhes específicos, na esperança de que a variante mais específica da pergunta tenha a resposta "Sim":
- no momento estou particularmente interessado no caso em que Foo é o Terminator (um emulador de terminal);
- meu shell é
zsh
;
- minha área de trabalho é xfce4 + xfwm4.
1 Se a resposta a esta pergunta for diferente se a sessão do X11 tiver sido iniciada automaticamente após o usuário logar através de um login gráfico, por favor me avise.
2 Ou talvez seja mais preciso dizer que o ambiente herdado é constituído pelas variáveis de shell exportadas , e seus valores, como eram quando o usuário invocava startx
. Espero que mesmo esta descrição mais cuidadosamente redigida seja, na melhor das hipóteses, uma simplificação exagerada, mas espero que não seja tão radical a ponto de tornar o resto do post discutível.