Hmm ... À partir de Mac OS X 10.10.5 et probablement plus tôt, il man -s5 launchd.conf
nous dit: " launchd.conf is no longer respected by the system.
" J'ai trop de choses à faire pour mettre une variable factice dans le fichier et redémarrer pour voir si cela fonctionne vraiment ou pas après. tout, mais la documentation dit que cela ne devrait pas fonctionner.
Je suis sûr que ça ne va pas. Faites man launchctl
et vous verrez: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
Ce que vous pouvez faire est de mettre toutes les variables d’environnement que vous voulez être globales dans un fichier, peut-être appelé environment
comme Linux, ou (si Apple décide de faire quelque chose avec ça plus tard - on ne sait jamais) environment.conf
, comme je l’ai fait, puis source ceci via /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
ou, si vous préférez le format compact:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Si vous utilisez un shell autre que bash et qu'il utilise la même syntaxe de paramétrage variable que bash (tout comme zsh, je pense), vous devrez également le source à partir du fichier rc de ce shell (par exemple /etc/zshrc
). Si vous utilisez un shell qui utilise une syntaxe différente, par exemple tcsh, vous devrez soit conserver un fichier similaire pour ce shell et le générer à partir du fichier rc du système (par exemple /etc/csh.cshrc
pour tcsh), ou, mieux encore, créer un script. qui le génère automatiquement, il vous suffit donc de modifier un fichier pour ajouter / modifier des variables. Ce n'est pas l'endroit pour un tel tutoriel; quelques secondes sur Google ont montré comment convertir les exportations de variable [t] csh en syntaxe bash, à l' adresse https://stackoverflow.com/questions/2710790/how-to-source-a-csh-script-in-bash-to -set-the-environment, donc il y a probablement quelque chose de disponible pour aller dans l'autre sens.
D'après mon expérience, Mac OS X s'éloigne de plus en plus du comportement prévisible des fichiers rc. En d'au moins 10,8, il ne semble plus à charger /etc/rc.common
, /etc/rc.conf
ou /etc/rc.<anything>
, ni (depuis au moins 10.9) sera elle charge /etc/bash.bashrc
pour les réservoirs non connectés interactifs (dont il devrait certainement être faites, tout comme il charge ~/.bashrc
pour eux, encore, à partir de 10,10) . Encore une fois, Fink, MacPorts et Homebrew sont tous installés, donc l’un d’entre eux interfère avec le comportement par défaut du fichier point. YMMV.
/etc/environment
) n'est pas lu car ce n'est pas une norme intersystèmes, il fait simplement partie de la fonction Linux PAM. Mac OS X n'est pas Linux et n'utilise pas PAM, pas plus que d'autres systèmes d'exploitation à ma connaissance. Vous ne vous en êtes sorti que parce que vous étiez sous Linux, apparemment. Et oui, il est lu encore - par Linux ;-)