Por que o tmux atrapalha meu login no Ubuntu, embora funcione bem depois de logado para novas janelas?

1

Por que, depois de uma atualização de software do Ubuntu 14.04, o exec tmux no meu .bashrc não consegue logar (embora anteriormente funcionasse bem por anos) e como corrigir?

Investigação:

Eu recentemente fiz uma atualização do Ubuntu 14.04 e depois não consegui nem mesmo efetuar login no sistema. Apenas o fato de que uma vez eu criei outra conta nesta máquina ( faça isso agora você mesmo! A conta tem pouco ou nenhum material .bashrc ) tornou a correção relativamente fácil. Tendo anteriormente feito uma conta extra que tenha me salvou admin. Também o fato de que eu posso entrar nessa conta e, em seguida, ao fazer

su other_account_name  

- Que inicialmente ainda falha ao tentar usar .bashrc -

Eu posso realmente fazer

su other_account_name -s /bin/sh 

ao invés de apenas usar o shell sh básico e evitar o bash.
Então eu posso editar o bashrc e consertar o que está errado, salvar o arquivo e tudo é restaurado. Ufa!

Investigação concluída. De volta à pergunta ...

Então, depois de tudo isso, eu finalmente rastreei a questão até o fato de que ter exec tmux no meu .bashrc usando

[ -z "$TMUX" ] && command -v tmux > /dev/null && TERM=xterm-256color && tmux

estava bagunçando o login inicialmente.

No entanto, se eu já estiver logado, isso permite que novas janelas (que tenham o tmux ativado) sejam criadas sem nenhum problema.

Como consertar e poder usar o tmux e ter meu .bashrc ainda funcionando para login inicial?

Notas:

  • Eu posso fazer exec tmux após o login e ele ser ativado e eu posso usá-lo ok.
  • Tentei alterar o exec tmux para tmux na linha em .bashrc e o 'meio' ajudou - recebo uma mensagem pop-up 'inválida' * quando efetuo login na conta - mas o tmux foi chamado e é utilizável.
  • eu verifiquei e pareço ter uma versão atual - 1.9a - do tmux
  • O pop-up que recebo quando altero meu ./bashrc para ter tmux em vez de exec tmux contém:

    Erro ao carregar o /home/durrant/.profile:\n\n falha no terminal aberto: não é um terminal \ n \ n Como resultado, a sessão não será configurada corretamente.
    Você deve corrigir o problema o mais rápido possível.

  • Eu também tentei ter

    tmux

em sua própria linha no meu arquivo .bashrc e também tendo

[ -z "$TMUX" ] && tmux

mas recebeu os mesmos erros

    
por Michael Durrant 28.02.2015 / 15:25

1 resposta

0

Atualmente, como não encontrei uma correção real, minha solução temporária é não invocar o tmux em meu .bashrc.

Eu criei um alias t para o tmux para que, assim que eu abrir uma janela do terminal, eu possa digitar t[return] para ativar o tmux para essa sessão.

    
por 02.03.2015 / 13:23