OS X Mountain Lion'daki Unix ortamına emacs ve Cocoa uygulamalarından erişme


5

Mac'imde emac kullanıyorum, homebrew kullanarak emaların kakao versiyonunu kurdum. Bir problem "Unix yolu" görmek için ben benim yolu çoğaltmak zorunda olduğunu .profileiçin.MacOSX/environment.plist

Bunu .profile dosyasında yapıyorum:

# PATH for emacs and cocoa apps
/etc/profile begin
if [ -x /usr/libexec/path_helper ]; then
  eval `/usr/libexec/path_helper -s`
  defaults write $HOME/.MacOSX/environment PATH "$PATH"
fi

Bu işe yarardı, ama ben Dağ Aslanını kurduğumda çalışmayı bıraktı. Bu sürümde değiştirdiklerini söyleyen herhangi bir kullanım kılavuzu bulamıyorum.

Mountain Lion'daki kakao uygulamalarından gelen unix yolunu nasıl bilen var mı?


1
Hmm, IIRC environment.plistuzun zaman önce itiraz etmeyi planladılar . Kullanmaya /etc/launchd.confveya launchctl setenvbunun yerine deneyebilirsiniz , ancak kilometreniz değişebilir. Bunu yarın kontrol edeceğim.
slhck

teşekkür ederim! Görünüşe göre .MacOSX / ortam dosyası kullanımdan kaldırılmıştır (Apple'ın durumu ve bunun yerine ne yapılacağını açıklayan güzel bir makalesi olsa güzel olurdu). .Profile içindeki kodu ile değiştirdim launchctl setenv PATH $PATHve çalışıyor, ancak yoldaki değişiklikleri yeniden başlatmam gerekiyor.
FCo

Yanıtlar:


4

Bu soruyu resmi olarak cevaplamak için: .MacOSX/environment.plistArtık (?) İşe yaramayabilir veya en azından güvenilir bir şekilde çalışmayabilir. Spotlight tarafından başlatılan uygulamalar için hiç çalışmadı. Yine de belgelenmiştir: Çalışma Zamanı Yapılandırması Yönergeleri: Ortam Değişkenleri

Bunun alternatifi launchctl, ortam değişkenlerini GUI uygulamalarına erişilebilir hale getirecek şekilde kullanmaktır . Örneğin, bu kabuğunuzu PATHçevreye kopyalar :

launchctl setenv PATH $PATH

Üzerinde yapılacak herhangi bir değişiklik için $PATH, etkilenen uygulamaları yeniden başlatmanız gerekecektir. Yukarıdaki sözdizimini kullanıyorsanız, yeniden başlatmanıza gerek yoktur. Ancak, değişirseniz /etc/launchd.conf, yeniden başlatmanız gerekir. Ayrıca bakınız: OS X'te ortam değişkenlerini ayarlama? - Yığın Taşması


1
Gerçekten işe yaramıyor! Anlamadım Bazen yapıyor ve bazen değil. launchctl getenv PATHBir emacs kabuğundan, doğru olanı döndürür, fakat echo $PATHiçinde yanlış yol vardır !. Şu an için (setenv "PATH" (shell-command-to-string "launchctl getenv PATH"))' at the beginning of the .emac` `dosyasını yapıyorum , ama bir kesmek!
FCo

Hm. Cocoa emacs'i hiç kullanmadım ve benim için .MacOSXversiyon her zaman çalıştı, en azından 10.6'ya kadar (ve daha sonra ihtiyacım olmadı). Belki de sorunuzu şu anki durumunuzla - özellikle de emac'lerle - güncelleyebilirsiniz ve diğerleri de bir göz atabilir mi?
slhck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.