Yosemite
/etc/launchd.conf
n'est plus supporté dans 10.10. Voir man launchctl
:
Le fichier /etc/launchd.conf n'est plus consulté pour les sous-commandes à exécuter au tout début du démarrage; cette fonctionnalité a été supprimée pour des raisons de sécurité.
Vous pouvez maintenant par exemple enregistrer ce plist en tant que ~/Library/LaunchAgents/my.startup.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.startup</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>launchctl setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
La launchctl setenv
commande est exécutée en tant qu'utilisateur. Elle ne s'applique donc qu'aux processus lancés dans le domaine utilisateur.
Cette méthode ne s'applique pas aux applications qui sont rouvertes lors de la connexion si l'option "Rouvrir les fenêtres lors de la connexion" est cochée.
Mavericks et plus tôt
Dans 10.9 et les versions antérieures, vous pouvez par exemple exécuter
echo setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin|sudo tee -a /etc/launchd.conf
puis redémarrez pour appliquer les modifications.
Autres méthodes
/etc/paths
et /etc/paths.d/
ne s'appliquent que (ou principalement) aux coquilles. Les lignes /etc/paths
et /etc/paths.d/*
sont ajoutées à la voie par path_helper , qui est exécuté à partir de /etc/profile
, /etc/zshenv
, et /etc/csh.login
. Je ne connais pas de programmes autres que des obus qui pourraient être envisagés /etc/paths
ou /etc/paths.d/
.
~/.MacOSX/environment.plist
cessé de travailler dans 10.8.
/etc/launchd.conf
a été retiré dans 10.10.launchctl setenv
.launchctl setenv
n'a jamais affecté les processus existants.Il y a un moyen beaucoup plus facile. Placez un fichier texte dans le dossier
/etc/paths.d/
. Dans ce fichier texte, entrez le chemin souhaité ET une nouvelle ligne. Le meilleur moyen est de créer un nouveau fichier pour chaque chemin.Sur mon système, il existe un fichier appelé MySQL avec le texte '/ usr / local / mysql / bin' et une nouvelle ligne.
la source
Vous pourrez peut-être définir des variables d'environnement dans le fichier
/etc/launchd-user.conf
...Dans Mavericks, j'ai pu configurer une variable d'environnement dans le fichier à l'aide de la ligne:
Après un démarrage frais, à
$TEST
partir /etc/launchd-user.conf est définie.modifier
Il est possible que la syntaxe du fichier dans /etc/launchd.conf soit invalide. Pouvez-vous poster le contenu de ce fichier pour examen?
De ce que je vois, définir la variable PATH dans /etc/launchd.conf fonctionne normalement. Cependant,
launchd
n'effectue aucune expansion de paramètre . Par conséquent, si vous avez une entrée commesetenv PATH $PATH:/usr/local/bin
, votre chemin résultant serait défini sur "$PATH:/usr/local/bin
" (note: pas la valeur de PATH, mais le texte "$ PATH")la source
sur mon installation Mavericks, l'ajout de "setenv PATH blablabla" à /etc/launchd.conf ne fonctionnait pas après le redémarrage
J'ai donc ajouté mon nouveau chemin à la fin de / etc / chemins, ce qui a fonctionné.
la source
/etc/paths
contient tout ce que je veux et pourtant, Sublime ne voit toujours que le PATH d'origine. Si je le lance depuis le terminal, ça marche.J'ai découvert que setenv PATH fonctionne toujours pour moi pour Terminal et les applications, mais a cassé des scripts de shell lancés directement en cliquant sur ou en ouvrant un terminal dans, par exemple, du Finder. C'est très étrange. Autres variables d'environnement définies dans le
/etc/launchd.conf
travail.Afin de résoudre ce problème pour les scripts shell lancés directement, j’ai dupliqué le paramètre PATH dans
~/.bash_profile
.la source
Editer
/etc/paths.d
ou utiliser.bash_profile
n'a pas fonctionné pour moi, cependant, comme suggéré par quelqu'un d'autre (je suis venu ici pour faire remonter sa réponse, mais je ne pouvais plus la trouver?!), J'ai édité/etc/paths
ce qui fonctionne pour moi.Dans mon cas, j’ai ajouté android-tool
adb
etandroid
des commandes de terminal en indiquant leurs chemins sdk (adb
a changé de répertoire de nos jours) et qui ressemblent àla source
SWEET, en ajoutant que XML dans ~ / Library / LaunchAgents / setenv.SVN.plist permettait à BBEdit d’utiliser les fichiers binaires de subversion que j’avais installés dans / opt.
la source
Ajoutez simplement votre 'bin' (le chemin que vous voulez ajouter) chemin du fichier / etc / path - redémarrez ou reconnectez-vous !!!
sauvegarder le fichier et reloginuer ... espérons que cela vous aidera
la source