In Lion (und früheren Versionen) war es in .MacOSX/environment.plist
. Nach dem Upgrade auf 10.8 ist die Datei noch vorhanden, die Variablen können jedoch nicht verwendet werden.
Ich habe auch versucht, sie hinzuzufügen /etc/launchd.conf
und sie werden im Terminal angezeigt, aber nicht in GUI-Anwendungen (wie meiner IDE).
/etc/launchd.conf
?Antworten:
Ich habe diese Frage auch in den Apple Developer Forums gestellt und diese offizielle Antwort erhalten.
quelle
Ich weiß, dass dies eine alte Frage ist, aber ich dachte, ich würde darauf hinweisen, dass in Yosemite
/etc/launchd.conf
nicht mehr funktioniert (wie von der Manpage bestätigt). Also hier ist eine Alternative.Starten Sie den AppleScript Editor und geben Sie einen Befehl wie den folgenden ein:
(fügen Sie so viele Zeilen hinzu, wie Sie möchten)
Jetzt speichern (⌘S) als Dateiformat: Anwendung . Öffnen Sie schließlich Systemeinstellungen → Benutzer & Gruppen → Anmeldeelemente und fügen Sie Ihre neue Anwendung hinzu.
quelle
Wie Sie festgestellt haben, wird die Verwendung der Datei environment.plist nicht mehr befolgt. Die in Info.plist als LSEnvironment- Zeichenfolgen gespeicherten Variablen werden nur von launchd festgelegt .
Sie können sich nicht darauf verlassen, dass sie eine allgemeine Umgebungsvariable festlegen, die das Terminal festlegt, wenn Sie Ihr Programm direkt vom Terminal / der Shell aus aufrufen. Die gute Nachricht ist, dass der
open -a
Befehl launchd für den Start auslöst, sodass die Variablen für die App-Umgebung konsistent festgelegt werden, wenn nicht für die lokale Shell-Umgebung.quelle
Das Festlegen von Umgebungsvariablen
/etc/launchd.conf
ist der richtige Weg: Jede Anwendung, die nach einem Neustart über lokale Shells, Finder oder Spotlight gestartet wird , erbt diese Variablen - ich habe dies ausführlich mit Mountain Lion 10.8.3 getestet.2 Vorbehalte:
ssh
Scheint sich so zu verhalten - siehe ... warum erben entfernte Shells über ssh NICHT die Umgebung ... )quelle
/etc/launchd.conf
wird seit Yosemite nicht mehr unterstützt. Siehe apple.stackexchange.com/questions/106355/…Versuchen Sie es
launchctl setenv NAME VALUE
. Ich weiß nicht, ob / was es anders macht als das Bearbeiten vonlaunchd
.conf, aber es funktioniert sowohl in Terminal- als auch in GUI-Apps. Mehr Details.Beachten Sie, dass dies nach einem Neustart nicht überlebt. Hier ist eine Möglichkeit, das zu beheben .
quelle