Hmm ... A partir do Mac OS X 10.10.5 e provavelmente anterior, man -s5 launchd.conf
diz-nos: " launchd.conf is no longer respected by the system.
" Eu tenho muita coisa acontecendo agora para colocar uma variável fictícia no arquivo e reiniciar para ver se realmente funciona ou não depois. tudo, mas a documentação diz que não deve funcionar.
Tenho certeza de que não. Faça man launchctl
e você verá: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
O que você pode fazer é colocar todas as variáveis de ambiente que você quer ser global em algum arquivo, talvez chamado environment
de acordo com o Linux, ou (caso a Apple decida fazer algo com isso mais tarde - você nunca sabe) environment.conf
, como eu fiz, depois forneça isso via /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
ou, se você preferir o formato compacto:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Se você usar outro shell que não seja o bash, e ele usar a mesma sintaxe de configuração variável do bash (como o zsh, acho), você também precisará obter esse arquivo do arquivo rc do sistema (por exemplo /etc/zshrc
). Se você usar um shell que usa uma sintaxe diferente, por exemplo, tcsh, precisará manter um arquivo semelhante para esse shell e obtê-lo no arquivo rc do sistema (por exemplo, /etc/csh.cshrc
para tcsh) ou, melhor ainda, criar um script que o gera automaticamente, portanto, você só precisa editar um arquivo para adicionar / alterar variáveis. Este não é o lugar para esse tutorial; alguns segundos no Google, apareceu como converter exportações de variáveis [t] csh para sintaxe bash, em https://stackoverflow.com/questions/2710790/how-to-source-a-csh-script-in-bash-to -configurar-o-ambiente, provavelmente há algo disponível para ir na outra direção.
Foi minha experiência que o Mac OS X está se afastando cada vez mais do comportamento previsível dos arquivos rc. A partir de pelo menos 10.8, ele parece não carregar mais /etc/rc.common
, /etc/rc.conf
ou /etc/rc.<anything>
(desde pelo menos 10.9) será carregado /etc/bash.bashrc
para shells interativos sem logon (o que certamente deveria estar fazendo, assim como carrega ~/.bashrc
para eles, ainda, a partir de 10.10) . Então, novamente, eu tenho o Fink, MacPorts e Homebrew todos instalando coisas, então talvez um deles esteja interferindo no comportamento padrão do arquivo de pontos. YMMV.
/etc/environment
) não é lido porque não é um padrão entre sistemas - é apenas parte do recurso PAM do Linux. O Mac OS X não é Linux e não usa PAM, nem outros sistemas operacionais, que eu saiba. Você só conseguiu se safar porque estava no Linux, aparentemente. E sim, ele ainda é lido - pelo Linux ;-)