No Lion (e versões anteriores), ele estava dentro .MacOSX/environment.plist
. Após a atualização para 10.8, o arquivo ainda está lá, mas as variáveis não estão sendo aceitas.
Eu também tentei adicioná-los /etc/launchd.conf
e eles aparecerão no Terminal, mas não nos aplicativos da GUI (como meu IDE).
/etc/launchd.conf
?Respostas:
Também fiz essa pergunta nos fóruns de desenvolvedores da Apple e recebi de volta essa resposta oficial.
fonte
Sei que essa é uma pergunta antiga, mas pensei em apontar que em Yosemite
/etc/launchd.conf
não funciona mais (conforme confirmado pela página de manual). Então aqui está uma alternativa.Inicie o AppleScript Editor, digite um comando como este:
(adicione quantas linhas desejar)
Agora salve (⌘S) como formato de arquivo: Aplicativo . Por fim, abra Configurações do sistema → Usuários e grupos → Itens de login e adicione seu novo aplicativo.
fonte
Como você descobriu, o uso do arquivo environment.plist não é mais seguido, as variáveis armazenadas no Info.plist como strings LSEnvironment são definidas apenas pelo launchd .
Você não pode depender deles para definir uma variável de ambiente geral que o terminal definirá se você chamar seu programa diretamente do terminal / shell. A boa notícia é que o
open -a
comando aciona o launchd para fazer o lançamento; portanto, as variáveis serão definidas de forma consistente no ambiente do aplicativo, se não no ambiente do shell local.fonte
Definir as variáveis de ambiente
/etc/launchd.conf
é o caminho a seguir: todo aplicativo iniciado após uma reinicialização por shells locais, o Finder ou o Spotlight herda essas variáveis - testei isso extensivamente com o Mountain Lion 10.8.3.2 advertências:
ssh
parece se comportar assim - veja ... por que shells remotos via ssh NÃO herdam o ambiente ... )fonte
/etc/launchd.conf
não é mais suportado desde Yosemite. Veja apple.stackexchange.com/questions/106355/…Tente
launchctl setenv NAME VALUE
. Não sei se / o que faz de maneira diferente da edição dolaunchd
.conf, mas funciona para mim nos aplicativos Terminal e GUI. Mais detalhes.Observe que isso não sobrevive durante uma reinicialização. Aqui está uma maneira de consertar isso .
fonte