Variáveis ​​de ambiente do shell não disponíveis em aplicativos GUI, mesmo se o aplicativo for lançado via linha de comando

2

Espera-se que as variáveis ​​do ambiente shell não estejam disponíveis em aplicativos GUI lançados via Spotlight ou Finder.app.

Mas até Mavericks - eu poderia lançar um aplicativo via linha de comando, tais como:

open -a IntelliJ\ IDEA\ 11

E o Intellij herdará as variáveis ​​de ambiente definidas no shell (no meu caso zsh). Isso não parece funcionar mais corretamente. Eu vi um problema semelhante, quando eu inicio Emacs.app da linha de comando.

Tópico relacionado - https://tex.stackexchange.com/questions/208181/why-did-my-tex-related-gui-program-stop-working-in-mac-os-x-yosemite

BTW, eu sei que posso usar Configurando a variável de ambiente PATH para todo o sistema no Mavericks para definir variáveis ​​de ambiente do sistema, mas não quero variáveis ​​de ambiente do sistema. Eu quero app GUI para herdar as variáveis ​​que foram definidas no ponto, o aplicativo foi lançado a partir da linha de comando.

Hemant Kumar
fonte

Respostas:

2

Você pode tentar algo assim:

launchctl setenv VARIABLE VALUE
open -a IntelliJ\ IDEA\ 11
launchctl unsetenv VARIABLE

Isso passará a variável de ambiente VARIABLE no aplicativo lançado e depois ele será limpo, mas permanecerá no aplicativo.

Mateusz Szlosek
fonte
Não funciona em El Capitan. :(
mgol