109 votes

Comment définir la variable d'environnement PATH globale sous OS X ?

J'aimerais ajouter la variable d'environnement PATH globale sous OS X afin que tous les interpréteurs de commandes des utilisateurs et les applications GUI aient le même environnement PATH.

Je sais que je peux ajouter au chemin dans Shell de démarrage Shell, mais ces paramètres ne sont pas hérités par les applications GUI.

Le seul moyen que j'ai trouvé jusqu'à présent est de redéfinir la variable d'environnement PATH dans le fichier /etc/launchd.conf :

setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/my/path

Je n'ai pas réussi à trouver un moyen d'ajouter le chemin à PATH en launchd.conf .

Cette méthode m'inquiète un peu, mais jusqu'à présent, c'est la seule chose qui fonctionne. Existe-t-il une meilleure méthode ?

1voto

noboomu Points 11

Je ne suis pas sûr que quelqu'un ait couvert le plus simple et les plus élégant façon. Au moins sur Mac OS X v10.6 (Snow Leopard).

En jouant avec le [/etc/|~/.] de [profile|bashrc] peuvent fonctionner, mais il s'agit d'une sorte de piratage. Le site /etc/paths.d/ est la meilleure solution :

  • Sudo dans votre éditeur préféré.

  • Créez un nouveau fichier nommé *name* (ne lui donnez pas un nom qui existe déjà) en /etc/paths.d/ avec un chemin par ligne :

    /usr/X11/bin
    /Developer/usr/bin
  • Puis ajoutez

    eval '/usr/libexec/path_helper -s`

    a profile o bashrc et vous devriez être prêt à partir.

0voto

Christian Deger Points 503

Je ne suis pas sûr que launchd accepte ça, mais essayez :

setenv PATH "$PATH:/my/path"

0voto

Xerxes Points 4113

Je ne suis pas sûr de savoir pourquoi tu utiliserais /etc/launchd.conf à l'opposé de /etc/profile - mais je ne suis pas un expert de Mac OS X - je vous crois dans le sens où je suis sûr que cela fonctionne, mais launchd est l'implémentation/remplacement de Mac OS X pour init - Mac OS X me perturbe.

De toute façon, setenv PATH "$PATH:/more/paths:/and/more/paths" fonctionnera (tcsh), et l'équivalent bourn Shell est export PATH="$PATH:/more/paths:/and/more/paths" - Je n'ai aucune idée de comment launchd est lié à un Shell particulier soit.

Je pense que j'ai posé plus de questions que j'ai répondu =)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X