Yosemite
/etc/launchd.conf
wird in 10.10 nicht mehr unterstützt. Siehe man launchctl
:
Die Datei /etc/launchd.conf wird nicht mehr für Unterbefehle herangezogen, die während der frühen Startzeit ausgeführt werden sollen. Diese Funktionalität wurde aus Sicherheitsgründen entfernt.
Sie können diese Liste jetzt beispielsweise speichern als ~/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>
Der launchctl setenv
Befehl wird als Benutzer ausgeführt und gilt daher nur für Prozesse, die in der Benutzerdomäne gestartet wurden.
Diese Methode gilt nicht für Anwendungen, die beim Anmelden erneut geöffnet werden, wenn "Fenster beim erneuten Anmelden erneut öffnen" aktiviert ist.
Mavericks und früher
In 10.9 und früher können Sie beispielsweise ausführen
echo setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin|sudo tee -a /etc/launchd.conf
und dann neu starten, um die Änderungen zu übernehmen.
Andere Methoden
/etc/paths
und /etc/paths.d/
nur (oder hauptsächlich) auf Muscheln anwenden. Die Linien in /etc/paths
und /etc/paths.d/*
werden zu dem Pfad durch hinzugefügt path_helper , die aus ausgeführt wird /etc/profile
, /etc/zshenv
und /etc/csh.login
. Ich kenne keine anderen Programme als Shells, die /etc/paths
oder berücksichtigen würden /etc/paths.d/
.
~/.MacOSX/environment.plist
hat in 10.8 aufgehört zu arbeiten.