LSOpenURLsWithRole (), tmux içinden Yosemite üzerinde -10810 hatasıyla başarısız oluyor


17

Komut tmuxsatırından (Terminal.app), içeriden (MacPorts, sürüm 1.9a aracılığıyla yüklenmiş ) bir uygulama açmaya çalışarak aşağıdaki sonucu elde etmeyi deneyin:

$ open /Applications/Adobe\ Reader.app/
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Adobe Reader.app.

Aynı komut, tmux dışında yürütülürse aynı terminalden düzgün çalışır.

Çevre ana bilgisayardan okunmalıdır; tmux.conf dosyasında:set -g update-environment -r

Terminal.app veya tmux yeniden başlatılırken, bazen ilk başta farklı bir mesajla hata verir (aşağıya bakın) ve tekrar denendiğinde yukarıdaki hata -10810 verilir.

$ open /Applications/Adobe\ Reader.app/
The window server could not be contacted.  open must be run with a user logged in at the console, either as that user or as root.

Hem Apple'ın kendi uygulamalarını (Önizleme, Font Kitabı, Kişiler) hem de üçüncü tarafları (Adobe, Evernote vb.) Denedim. Fark yok. Çalışıyor gibi görünen bir uygulama bulucu. ( open [dirname]örneğin.)

Yanıtlar:


19

Bunun için bir çözüm / geçici çözüm vardır:

  • Sürümünüzü güncelleyin reattach-to-user-namespace. Bu, programları yürütmek için tmux tarafından kullanılır. Yaptığım sadece bu yüzden değil, MacPorts daha demlemek kullanın: brew update; brew upgrade reattach-to-user-namespace. Macports'un benzer bir şey yapması muhtemeldir.
  • .tmux.confDosyanıza aşağıdakileri ekleyin :

    set -g default-command "reattach-to-user-namespace -l /bin/bash"

Tmux oturumunuzu yeniden başlatın, bu da programları komut satırından başlatmanıza izin vermelidir.

Daha fazla bilgi bu github sayısında bulunabilir.


FWIW, güncelleme reattach-to-user-namespacebenim için hiçbir şey değiştirmiyor ve sorun hala devam ediyor. Görünüşe göre tmux kendiliğinden düzeltilmelidir (diğer cevaba bakınız).
Konrad Rudolph

varsayılan kabuğu kullanmadığınızda, komuttaki yolu değiştirdiğinizden emin olun (örn path/to/your/fish.).
Aviel Gross

3

Sorun şu ki, tmux önyükleme yapılmaması durumunda bootstrap'ı sistem etki alanına değiştiriyor (bkz. Https://trac.macports.org/ticket/18357 ). Launchd'ın daha eski sürümleri tmux'daki bu hata etrafında çalıştı, ancak OS X Yosemite'deki yeniden yazılmış launchd bu tmux hatası çevresinde çalışmıyor.

Apple'ın muhtemelen tmux hatası etrafında çalışan bir güncelleme yayınlamasını beklemeniz veya en az 6 yıldır bilinen tmux'da bu hatayı düzeltmek için tmux geliştiricilerini rahatsız etmeniz gerekecektir.

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.