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.