Ten błąd pojawia się, gdy próbuję uruchomić Sublime Text lub SourceTree z tmux:
$ subl
Unable to launch Sublime Text 2
$ stree
Unable to open SourceTree
Wygląda na to, że nie mogę otworzyć aplikacji systemu OS X:
$ open MPlayerX.app
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/MPlayerX.app.
Używam Yosemite OS X 10.10 (14A388a), iTerm 2 z zsh, tmux 1.0a. Miałem ten sam problem przy użyciu bash. Masz pomysł, co się dzieje?
Odpowiedzi:
UPDATE: Jest to procedura jest zbędna z tmux> = v2.6
Znalazłem post Brendona Rappa opisujący rozwiązanie, które nie wymaga wielu aliasów.
Dodaj następujący wiersz na końcu pliku ~ / .tmux.conf:
Utwórz plik o nazwie ~ / .tmux-osx.conf o następującej treści:
Powyższe rozwiązanie pozwala, aby ten sam plik .tmux.conf działał poprawnie zarówno w systemie Linux, jak i OS X. Jeśli używasz tylko OS X, możesz po prostu dodać opcję „default-command” bezpośrednio do pliku ~ / .tmux.conf.
Jeśli używasz powłoki innej niż bash, zamień „bash” na swoją powłokę po przełączniku „-l”.
źródło
Miałem ten sam problem z tmuxem i załatałem go za pomocą przestrzeni przeszukiwania dla użytkownika i aliasów powłoki.
$ brew install reattach-to-user-namespace
$ vi ~/.bash_aliases
$ source ~/.bash_aliases
Nie elegancki, ale działa.
źródło
~/.tmux.conf
:set-option -g default-command "reattach-to-user-namespace -l zsh"
Przekonałem się, że dodanie tego do moich aliasów nie działało dla mnie, jeśli nie byłem jeszcze w
tmux
sesji (tj.tmux
Spowodowało błąd, gdy byłem tylko nagi, bez sesji iTerm).Jeśli chcesz skonfigurować ten alias tylko podczas sesji Tmux, spróbuj tego:
Może być konieczne
echo $TERM
wejście w sesję tmux, aby zobaczyć, na co$TERM
ustawiona jest zmienna środowiskowa. Mój był właściwiescreen-256color
, więc odpowiednio podmieniłem powyższą wartość.Powodzenia!
źródło