Hmm ... A partire da Mac OS X 10.10.5 e probabilmente prima, man -s5 launchd.conf
ci dice: " launchd.conf is no longer respected by the system.
" Ho troppe cose in corso in questo momento per mettere una variabile dummy nel file e ricominciare a vedi se funziona davvero o no, dopotutto, ma la documentazione dice che non dovrebbe funzionare.
Sono abbastanza sicuro che non lo farà. Fai man launchctl
e vedrai: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
Ciò che puoi fare è mettere tutte le variabili d'ambiente che vuoi essere global-ish in qualche file, forse chiamato environment
in accordo con Linux, o (nel caso in cui Apple decida di fare qualcosa con quello più tardi - non si sa mai) environment.conf
, come ho fatto io, quindi fonte questo tramite /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
o, se preferisci il formato compatto:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Se usi una shell diversa da bash, e usa la stessa sintassi di impostazione delle variabili di bash (come fa zsh, penso), dovrai anche cercare questo file da quella file rc di sistema a livello di shell (ad es. /etc/zshrc
). Se utilizzi una shell che utilizza una sintassi diversa, ad es. tcsh, dovrai mantenere un file simile per quella shell e importarlo dal file rc di sistema della shell (ad esempio /etc/csh.cshrc
per tcsh), o meglio ancora creare uno script che lo auto-genera, quindi solo devi modificare un file per aggiungere / modificare le variabili. Questo non è il posto giusto per un simile tutorial; alcuni secondi su Google hanno mostrato come convertire [t] csh esportazioni variabili in sintassi bash, in link , quindi probabilmente c'è qualcosa che può andare nella direzione opposta.
È stata la mia esperienza che Mac OS X si sta spostando sempre più lontano dal comportamento prevedibile del file rc. A partire da almeno 10.8, non sembra più caricare /etc/rc.common
, /etc/rc.conf
o /etc/rc.<anything>
, né (almeno 10.9) caricherà /etc/bash.bashrc
per le shell interattive non di rete (che sicuramente dovrebbe fare, solo come se carica ~/.bashrc
per loro, ancora, a partire da 10.10). Poi di nuovo ho Fink, MacPorts e Homebrew che installano tutto, quindi forse uno di loro sta interferendo con il comportamento predefinito del dotfile. YMMV.