J'utilise Mountain Lion 10.8.4 et mon environnement est personnalisé via ~/.profile
sorte que lorsque j'exécute des applications charts comme Sublime Text ou Eclipse à partir de la command line
open /Applications/Sublime\ Text\ 2.app
ils héritent de mes parameters $PATH
, ce qui permet à l'application d'exécuter des commands externes qui ne sont pas dans le path par défaut très limité d'OSX. Cependant, j'aimerais vraiment pouvoir ouvrir des programmes via Finder ou le Dock et leur donner le même path que j'utilise sur la command line. launchctl setenv PATH $PATH
ne fonctionne pas dans 10.8. Comment puis-je configurer cela?
Cela ne fonctionne plus avec les versions plus récentes d'OS X, y compris 10.10 Yosemite (je ne suis pas sûr de 10.9 Mavericks). Il fonctionne cependant avec 10.8 Mountain Lion.
En fait, ce n'est pas trop dur, mais il faut avoir des privilèges d'administrateur (en utilisant la command sudo
pour écrire dans /etc
).
Depuis Terminal (ou votre substitut préféré), voyez s'il y a quelque chose dans le file /etc/launchd.conf
:
cat /etc/launchd.conf
Si vous obtenez une erreur comme
cat: /etc/launchd.conf: Aucun file ou directory
puis continuez avec l'étape suivante. Si la command cat
affiche du contenu, copyz-le.
Déterminez le path actuel de votre système, car nous devons nous assurer de l'inclure plus tard:
launchctl getenv PATH
Dans votre éditeur favori, créez un nouveau file text avec le contenu suivant, modifié selon vos besoins:
setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin
Assurez-vous que vous avez inclus tout le contenu du path depuis l'étape précédente, sinon vous allez casser votre système.
Si la command cat
de l'étape 1 affiche du contenu, collez-le dans le nouveau file avant la command setenv PATH
. S'il contient déjà une command setenv PATH
, modifiez-la pour append les directorys supplémentaires dont vous avez besoin.
Enregistrez le nouveau file dans votre directory personnel ( /Users/YourUserName
) en tant que launchd.conf
.
Retournez au terminal et entrez:
sudo mv ~/launchd.conf /etc
pour utiliser le pouvoir d'administration pour déplacer le nouveau file vers /etc
, en remplaçant tout ce qui était là avant . En fonction de votre utilisation précédente de la command sudo
, vous pouvez get un court message "faites attention à ce que vous faites", mais de toute façon, vous devrez entrer votre mot de passe. /etc
n'est pas directement accessible via la boîte de dialog Enregistrer des éditeurs charts sauf si vous êtes un véritable user puissant et savez comment contourner les ressortingctions du système de files d'OSX.
Redémarrez votre ordinateur
Et vous devriez être tous set. Si vous êtes intéressé, launchd
et launchctl
utilisent la syntaxe csh
/ tcsh
, vous ne pouvez donc pas utiliser le format d' export PATH=/usr/local/bin:...
bash
/ zsh
export PATH=/usr/local/bin:...