W Lion (i poprzednich wersjach) było .MacOSX/environment.plist
. Po aktualizacji do 10.8 plik nadal tam jest, ale zmienne nie są pobierane.
Próbowałem też je dodać /etc/launchd.conf
i będą one wyświetlane w Terminalu, ale nie w aplikacjach GUI (takich jak moje IDE).
/etc/launchd.conf
?Odpowiedzi:
Zadałem to pytanie również na forach programistów Apple i uzyskałem oficjalną odpowiedź.
źródło
Wiem, że to stare pytanie, ale pomyślałem, że zwrócę uwagę na to, że w Yosemite
/etc/launchd.conf
już nie działa (co potwierdza strona podręcznika). Oto alternatywa.Uruchom AppleScript Editor, wprowadź polecenie takie jak to:
(dodaj tyle linii, ile chcesz)
Teraz zapisz (⌘S) jako Format pliku: Aplikacja . Na koniec otwórz Ustawienia systemu → Użytkownicy i grupy → Zaloguj się i dodaj nową aplikację.
źródło
Jak już odkryłeś , użycie pliku environment.plist nie jest już przestrzegane, zmienne przechowywane w Info.plist jako łańcuchy LSEnvironment są ustawiane tylko przez uruchomienie .
Nie można na nich polegać, aby ustawić ogólną zmienną środowiskową, którą ustawi terminal, jeśli wywołujesz swój program bezpośrednio z terminala / powłoki. Dobrą wiadomością jest to, że
open -a
polecenie uruchamia uruchamianie w celu uruchomienia, więc zmienne będą ustawione konsekwentnie dla środowiska aplikacji, jeśli nie dla lokalnego środowiska powłoki.źródło
Ustawianie zmiennych środowiskowych
/etc/launchd.conf
jest na drodze: każda aplikacja uruchomiona po ponownym uruchomieniu przez lokalne powłoki, Finder lub Spotlight dziedziczy te zmienne - przetestowałem to dokładnie w Mountain Lion 10.8.3.2 zastrzeżenia:
ssh
wydaje się tak zachowywać - zobacz ... dlaczego zdalne powłoki przez ssh NIE dziedziczą środowiska ... )źródło
/etc/launchd.conf
nie jest już obsługiwany od Yosemite. Zobacz apple.stackexchange.com/questions/106355/…Spróbować
launchctl setenv NAME VALUE
. Nie wiem czy / co robi inaczej niż edycjalaunchd
.conf, ale działa dla mnie zarówno w aplikacjach Terminal jak i GUI. Więcej szczegółów.Pamiętaj, że nie przetrwa to po ponownym uruchomieniu. Oto sposób, aby to naprawić .
źródło