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 :
PATH
Kabuk 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 launchd
işlemin ayarlanması launchctl setenv PATH <...>
benim için hiç işe yaramıyor.
- Evet : Ayar
PATH
içinde /etc/launchd.conf
(ve sistemi yeniden başlatmadan) uygun hale getirecek PATH
Spotlight, 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 launchd
kabuk 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.conf
yok değil kabukları için çalışmak giriş Uzaktan ssh aracılığı (çünkü varsayalımsshd
onun ebeveynden devralan çevresini geçmezlaunchd
çocuk kabuğuna.). - Cevabı buna göre düzenleyeceğim.