TMUX에서 애플리케이션을 시작할 수 없습니다


11

tmux에서 Sublime Text 또는 SourceTree를 시작하려고 할 때이 오류가 발생합니다.

$ subl
Unable to launch Sublime Text 2

$ stree
Unable to open SourceTree

os x 앱도 열 수없는 것 같습니다.

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

Yoshite OS X 10.10 (14A388a), iTerm 2 (zsh, tmux 1.0a)를 사용하고 있습니다. bash를 사용하여 동일한 문제가 발생했습니다. 무슨 일이야?


나에게만 tmux 문제가 아닙니다. bash 및 zsh / oh-my-zsh에서 동일합니다. 그것은 일했다
JB Rainsberger

답변:


15

업데이트 : 이 절차는 tmux> = v2.6 에서는 필요하지 않습니다.

Brendon Rapp이 많은 별명을 요구하지 않는 솔루션을 설명 하는 게시물을 찾았 습니다 .

$ brew install reattach-to-user-namespace

~ / .tmux.conf 끝에 다음 줄을 추가하십시오.

if-shell 'test "$(uname)" = "Darwin"' 'source ~/.tmux-osx.conf'

~ / .tmux-osx.conf라는 파일을 다음 내용으로 만듭니다.

set-option -g default-command "reattach-to-user-namespace -l bash"
  • 위의 솔루션을 사용하면 Linux 및 OS X에서 동일한 .tmux.conf 파일이 올바르게 작동합니다. OS X 만 사용하는 경우 'default-command'옵션을 ~ / .tmux.conf에 직접 추가하면됩니다.

  • bash 이외의 쉘을 사용하는 경우 '-l'스위치 다음에 bash를 쉘로 바꾸십시오.


7

나는 tmux와 같은 문제가 있었고 사용자 이름 공간 과 셸 별명 으로 다시 붙였습니다 .

  1. $ brew install reattach-to-user-namespace
  2. $ vi ~/.bash_aliases

    alias subl='reattach-to-user-namespace subl'
    alias stree='reattach-to-user-namespace stree'
    alias open='reattach-to-user-namespace open'
    
  3. $ source ~/.bash_aliases

우아하지는 않지만 작동합니다.


2
문서에 따르면, 이것을 다음에 추가하십시오 ~/.tmux.conf. set-option -g default-command "reattach-to-user-namespace -l zsh"
nicerobot

0

이미 tmux세션 에 있지 않은 경우이 별칭을 별칭에 추가해도 효과가 없다는 것을 tmux알았습니다.

tmux 세션에있을 때이 별명 만 설정하려면 대신 다음을 시도하십시오.

if [ "$TERM" = "screen" ] && [ -n "$TMUX" ]; then
  alias stree="reattach-to-user-namespace stree"
fi

환경 변수가 echo $TERM무엇 $TERM으로 설정되어 있는지 확인하려면 tmux 세션 내부에 있어야 할 수도 있습니다 . 광산은 실제로 screen-256color이므로 위의 값을 적절하게 교체했습니다.

행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.