Configuration de l'environnement pour de nouveaux processus a commencé par Spotlight
Vous pouvez définir l'environnement utilisé par launchd (et, par extension, tout a commencé à partir de Spotlight) avec launchctl setenv
. Par exemple, pour définir le chemin d'accès:
launchctl setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Ou si vous souhaitez configurer votre chemin en .bashrc
ou similaire, puis de miroir dans launchd:
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
launchctl setenv PATH $PATH
Il n'y a pas besoin de rebooter , mais vous devrez redémarrer une application si vous le souhaitez pour ramasser l'environnement a changé.
Cela inclut toutes les coques déjà en cours d'exécution en vertu de Terminal.app, bien que si vous êtes là, vous pouvez mettre l'environnement, plus directement, par exemple, avec export PATH=/opt/local/bin:/opt/local/sbin:$PATH
pour bash ou zsh.
Les modifications seront perdues après un redémarrage
Pour conserver les modifications après un redémarrage , vous pouvez définir les variables d'environnement à partir d' /etc/launchd.conf
, comme suit:
setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
launchd.conf
est exécuté automatiquement lorsque vous redémarrez.
Si vous souhaitez que ces modifications prennent effet, vous devez utiliser cette commande pour retraiter launchctl.conf
(merci @mklement pour l'astuce!)
egrep -v '^\s*#' /etc/launchd.conf | launchctl
Vous pouvez en savoir plus sur launchctl
et comment il charge launchd.conf
avec la commande man launchctl
.