O tmux sai com [Exited] no Mac OS X


88

Acabei de instalar o tmux (um multiplexador de terminal) com homebrew. Quando tento executá-lo, ele sempre sai com [exited]Nada aparece.

Quando tento executar tmux list-session, recebo um erro:

falha ao conectar-se ao servidor: conexão recusada

Eu tentei correr tmux start-server, mas novamente nada acontece.

O que eu posso fazer?


2
começar a usar a opção -v para aumentar o detalhe
Florenz Kley

3
Verifique suas default-commande default-shellopções. Se o tmux estiver com problemas para executar seu comando (ou shell) padrão, ele responderá como você está descrevendo. Para uma investigação mais aprofundada, você pode usar algo como tmux new /bin/zshiniciar explicitamente com (por exemplo) em /bin/zshvez de confiar em default-commandou default-shell.
31712 Chris Chrissen

3
tmux new /bin/zshtrabalhou para mim. Obrigado.
Stevens

Er, minha sugestão foi concebida como uma etapa de diagnóstico, não como uma solução final. Provavelmente há algo de buggy sobre o seu default-shellou default-commandconfiguração.
precisa

Recentemente, descobri (pela primeira vez) que se 1) .tmux.conf existe, mas possui erros de sintaxe ou 2) .tmux.conf é um link simbólico que vincula a nada, o tmux não será aberto. Pode ser bom tentar primeiro com o arquivo de configuração padrão, primeiro mv $HOME/.tmux.conf $HOME/.tmux.conf.backupe ver se o tmux é iniciado. @ ChrisJohnsen está certo, sua solução simplesmente significa que há um bug em andamento.
Scicalculator

Respostas:


178

Eu tenho esse mesmo problema. Isso foi causado por ter set-option -g default-command "reattach-to-user-namespace -l zsh"no meu .tmux.confsem ter que conectar novamente ao espaço de nome do usuário instalado.

A correção foi instalar "espaço para nome do usuário novamente" via Homebrew ( brew install reattach-to-user-namespace)


2
ótimo thx! Exatamente o que estava faltando no meu sistema para fazê-lo funcionar!
precisa saber é o seguinte

1
+1Muito obrigado! Eu tive exatamente o mesmo problema. Você conhece alguma maneira de definir opções condicionalmente para que não falhe em um sistema que não foi reattach-to-user-namespaceinstalado?
Patrick Oscity

2
@padde Veja esta solução .
jrhorn424

Alguma idéia de como conseguir isso no Ubuntu? Tentei procurar uma maneira de fazer o download, reattach-to-user-namespacemas meus esforços foram inúteis.
DaMainBoss

@DaMainBoss reattach-to-user-namespaceé apenas para tmux. Se você estiver em ubuntu apenas comentar que a linha de seu arquivo .tmux.conf
pho79

6

Certifique-se de que a opção shell padrão contenha apenas o caminho executável e não opções.

Em /etc/tmux.confou~/.tmux.conf

set-option -g shell-padrão "/ bin / bash"
set-option -g comando padrão "bash -l"
set-option -g caminho-padrão $ HOME
set-option -g default-terminal "screen-256color"

Essa resposta me levou ao verdadeiro motivo: eu havia desinstalado o tcsh e meu shell e comando padrão ainda estavam definidos. Alterando-o para / bin / ksh, ou um shell instalado padrão de sua escolha, foi corrigido para mim.
Jason Robinson

0

Se você estiver usando um script para quebrar reattach-to-user-namespace, conforme descrito por jimeh , não esqueça de tornar o script executável chmod +x ~/bin/login-shell.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.