Yosemite
/etc/launchd.conf
nie jest już obsługiwany w 10.10. Zobacz man launchctl
:
Plik /etc/launchd.conf nie jest już sprawdzany pod kątem komend do uruchomienia podczas wczesnego rozruchu; ta funkcja została usunięta ze względów bezpieczeństwa.
Możesz teraz na przykład zapisać ten plist jako ~/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>
launchctl setenv
Komenda jest prowadzony jako użytkownik, a więc stosuje się tylko do procesów uruchomionych w domenie użytkownika.
Ta metoda nie ma zastosowania do aplikacji, które są ponownie otwierane podczas logowania, jeśli zaznaczone jest „Otwórz ponownie okna podczas ponownego logowania”.
Mavericks i wcześniejsze
W wersji 10.9 i wcześniejszych możesz na przykład uruchomić
echo setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin|sudo tee -a /etc/launchd.conf
a następnie uruchom ponownie, aby zastosować zmiany.
Inne metody
/etc/paths
i /etc/paths.d/
stosuj tylko (lub głównie) do muszli. Te linie /etc/paths
i /etc/paths.d/*
dodaje do ścieżki przez path_helper , wykonane z /etc/profile
, /etc/zshenv
i /etc/csh.login
. Nie znam żadnych programów innych niż powłoki, które rozważałyby /etc/paths
lub /etc/paths.d/
.
~/.MacOSX/environment.plist
przestał działać w 10,8.
/etc/launchd.conf
został usunięty w 10.10.launchctl setenv
.launchctl setenv
nigdy nie wpływał na istniejące procesy.Jest o wiele łatwiejszy sposób. Umieść plik tekstowy w folderze
/etc/paths.d/
. W tym pliku tekstowym wprowadź żądaną ścieżkę ORAZ nowy wiersz. Najlepszym sposobem jest utworzenie nowego pliku dla każdej ścieżki.W moim systemie znajduje się plik o nazwie MySQL z tekstem „/ usr / local / mysql / bin” i nową linią.
źródło
Możesz ustawić zmienne środowiskowe w pliku
/etc/launchd-user.conf
...W Mavericks byłem w stanie skonfigurować zmienną środowiskową w pliku za pomocą wiersza:
Po świeżym rozruchu
$TEST
ustawiany jest plik /etc/launchd-user.conf.Edytować
Możliwe, że składnia pliku w /etc/launchd.conf jest nieprawidłowa. Czy możesz opublikować zawartość tego pliku do sprawdzenia?
Z tego, co widzę, ustawienie zmiennej PATH w pliku /etc/launchd.conf działa normalnie. Jednak
launchd
nie wykonuje żadnego rozszerzenia parametrów . Dlatego jeśli masz wpis podobny dosetenv PATH $PATH:/usr/local/bin
, twoja wynikowa ścieżka będzie ustawiona na „$PATH:/usr/local/bin
” (uwaga: nie wartość PATH, ale tekst „$ PATH”)źródło
w mojej instalacji Mavericks dodanie „setenv PATH blablabla” do /etc/launchd.conf nie działało po ponownym uruchomieniu
więc dodałem nową ścieżkę na końcu / etc / paths, która działała.
źródło
/etc/paths
zawiera wszystko, czego chcę, a jednak Sublime nadal widzi tylko oryginalną ŚCIEŻKĘ. Jeśli uruchomię go z terminala, to działa.Przekonałem się, że PATH setenv nadal działa dla mnie dla terminalu i aplikacji, ale włamałem się do skryptów powłoki, uruchamianych bezpośrednio poprzez kliknięcie lub otwieranie w terminalu z, powiedzmy, Findera. To jest bardzo dziwne. Inne zmienne środowiskowe ustawione w
/etc/launchd.conf
pracy.Aby to naprawić dla skryptów powłoki uruchamianych bezpośrednio, zduplikowałem ustawienie PATH w
~/.bash_profile
.źródło
Edytowanie
/etc/paths.d
lub używanie.bash_profile
nie działało dla mnie, jednak jak sugerowano od kogoś innego (faktycznie przyszedłem tutaj, aby głosować na jego odpowiedź, ale nie mogłem znaleźć jej ponownie ?!), edytowałem,/etc/paths
która działa dla mnieW moim przypadku dodałem android-narzędzie
adb
iandroid
polecenia terminalu, wskazując na ich ścieżki sdk (adb
obecnie przeniósł się do innego katalogu), które wyglądają jakźródło
SWEET, dodanie tego XML do ~ / Library / LaunchAgents / setenv.SVN.plist pozwoliło BBEdit na użycie binariów subversion, które zainstalowałem w / opt.
źródło
Po prostu dodaj swoją „bin” (ścieżkę, którą chcesz dodać) ścieżkę do pliku / etc / paths - uruchom ponownie lub zaloguj ponownie !!!
zapisz plik i zaloguj ponownie ... mam nadzieję, że to pomoże
źródło