Farklı seçeneklerle yapılan birçok denemeden sonra şu sonuca varıyorum:
Farklı yollarla başlatılan uygulamaları (kabuk komut dosyası, Finder ve Spotlight gibi) ayarlamanın birleşik bir yolu var mı PATH? Evet, hayır:
- Hayır :
PATHKabuk başlatma komut dosyalarında (örn. .bashrc) Ayarlanması yalnızca kabuklar tarafından başlatılan uygulamalar için geçerlidir.
- Hayır :
PATHŞu anki launchdişlemin ayarlanması launchctl setenv PATH <...>benim için hiç işe yaramıyor.
- Evet : Ayar
PATHiçinde /etc/launchd.conf(ve sistemi yeniden başlatmadan) uygun hale getirecek PATHSpotlight, Dock ve Bulucu ve daha sonra (yerel) kabukları tarafından başlatılan uygulamalarda görünür.
- Hayır : Uzaktan çalıştırılan mermiler çevreyi miras almaz . (Bakın ... ssh üzerinden uzak kabuklar neden çevreyi devralmıyor .. )
Mermilerin kurulumu için notlar:
Yerel mermilerin doğru çalışması için , kullanımının kapatılması önemlidir /usr/libexec/path_helper, çünkü içindeki varsayılan yollar /etc/paths, yolların sırasını değiştirebilir PATH. **
Yerleştirmek için uzak kabukları Eğer yeniden ithalat gerek launchdkabuk içine çevreyi. Aşağıdaki gibi bir şey kullanın .bashrc:
# the vexatious path stuff
eval $(launchctl export)
Tüm sorunun talihsiz sonuçları şunlardır:
- Bu birleştirilmiş ayarları kullanıcı başına almanın bir yolu yoktur. (
~/.launchd.confçalışmıyor.)
- Home dizini genişletme et al gibi teknikleri kullanarak PATH'ı farklı kaynaklardan oluşturmanın kolay bir yolu yoktur.
/etc/launch.confyok değil kabukları için çalışmak giriş Uzaktan ssh aracılığı (çünkü varsayalımsshdonun ebeveynden devralan çevresini geçmezlaunchdçocuk kabuğuna.). - Cevabı buna göre düzenleyeceğim.