tmux vs. tela

221

Estou prestes a voltar a usar o GNU Screen , mas tenho ouvido pessoas mencionarem ocasionalmente tmux como uma alternativa melhor. Ela realmente oferece uma alternativa para todas as funcionalidades que a Tela oferece, como monitoramento de atividades em diferentes janelas, etc.? Quais são os prós e contras de cada um?

    
por Alison R. 06.01.2011 / 16:20

8 respostas

146

Algumas das (principais) razões que eu prefiro tmux over screen :

  • Barra de status é muito mais fácil de usar. Você pode facilmente configurar textos / estilos diferentes para a janela atual, janelas com atividade, etc. e pode colocar itens à esquerda e à direita da barra de status, incluindo comandos shell que podem ser executados em um intervalo especificado (15s padrão).
  • Quase qualquer comando que você possa executar dentro de tmux pode ser executado a partir de um shell com tmux command [args] . Isso facilita a criação de scripts, além de facilitar comandos complexos.
  • Mudança de nome de janela automática muito mais precisa. Embora screen defina o título com base na primeira palavra do comando e exija que a configuração do shell faça mesmo isso em uma janela do shell, tmux rastreia quais processos estão realmente em execução em cada janela e atualiza o título de acordo. Dessa forma, você obtém renomeação dinâmica com qualquer configuração de shell e zero. Por exemplo: digamos que você esteja executando o Z Shell; o nome da janela seria "zsh". Agora vamos dizer que você quer editar algum arquivo de configuração, então você digita sudo emacs /etc/somefile . Enquanto sudo estiver pedindo sua senha, o nome da janela será "sudo", mas uma vez que você tenha feito isso e sudo lance emacs , o título será "emacs". Quando tudo estiver pronto e você sair do emacs , o título será alterado novamente para "zsh". Isso é muito útil para manter o controle de janelas, e também pode ser especialmente útil em situações específicas, como se você tivesse algum processo de longa execução em outra janela que, ocasionalmente, solicita sua entrada usando dialog ; o nome da janela mudaria para "caixa de diálogo" quando isso acontecesse, então você saberia que tinha que mudar para aquela janela e fazer alguma coisa.
  • Melhor manuseio de sessão (IMHO). Você pode fazer muito mais com sessões dentro de tmux . Você pode facilmente mudar, renomear, etc, e você pode mover e compartilhar janelas entre as sessões. Ele também possui um modelo diferente, em que cada usuário possui um servidor que controla suas sessões e ao qual o cliente se conecta. A desvantagem disso é que, se o servidor travar, você perderá tudo; Eu nunca tive a falha do servidor em mim, no entanto.
  • tmux parece estar mais ativamente desenvolvido. Há atualizações com bastante freqüência, e você pode arquivar um relatório de bug ou solicitação de recurso de acordo com esta FAQ e obter uma resposta dentro de alguns dias.

Essas são apenas as principais coisas que vêm imediatamente à mente. Há outras pequenas coisas também, e tenho certeza de que estou esquecendo algumas coisas. No entanto, vale a pena dar uma chance ao tmux .

    
por 17.01.2011 / 21:36
84

( Sessions são coleções de janelas que podem ser desanexadas e reconectadas posteriormente. O Windows pode conter um ou mais painéis . Por exemplo, configs, confira aqui e aqui . )

tmux

  • Prós
    • Pode enviar chaves para outros painéis, como se fosse um IDE
    • Atalhos de teclado fáceis - com a configuração certa, você se sentirá em casa no Vim ou na tela
    • Ligações Vim-ish e Emacs-ish incorporadas
    • Bom gerenciamento de layout, muito parecido com um gerenciador de janelas lado a lado
    • O Unicode parece funcionar apenas com terminais modernos
    • Alguns problemas de terminal corrigidos com TERM=tmux
  • Contras
    • Lento - não tem certeza do porquê, mas os pressionamentos de tecla parecem lentos Não há mais problemas com lentidão
    • A multiplexação força a largura e a altura da sessão inteira ao menor terminal conectado
    • Falha várias vezes no Mac OS X, perdendo a sessão inteira
    • Falhou no Linux após a atualização, onde não consegui me reconectar à minha antiga sessão
    • Falha no comando das teclas ocasionalmente - ^ A ^ [ leva algumas tentativas para o modo de cópia
    • Não é possível mover um painel de uma janela para outra Corrigido com o comando join-pane
    • Não desempacotamento de linha (ou "reflow" ou "rewrap") após a mudança de largura do terminal (redimensionamento de janela)

Tela GNU

  • Prós
    • Extremamente estável (v1.0 foi em 1987)
    • Alguns problemas de terminal corrigidos com TERM=screen
    • Ligações do Emacs-ish construídas em
    • Fácil de mover e controlar painéis horizontais
    • Quando multiplexando, qualquer terminal conectado pode redimensionar um painel
  • Contras
    • Sem divisões verticais sem patch (exceto no Ubuntu)
    • As divisões do painel são perdidas ao desanexar
    • Fazer o Unicode funcionar exige um pouco de delicadeza e determinação
    • Configuração da linha de status maluca
por 04.05.2011 / 20:28
10

Um pro para tela: está disponível praticamente pronto para uso no Linux e no Solaris. Quando você tem que alternar entre as plataformas, é bom não ter a troca de contexto mental.

Tenho certeza que você pode obter o tmux compilado em qualquer plataforma, mas às vezes você tem acesso suficiente para usar a tela, mas os administradores reais do sistema não querem realmente adicionar nenhum software que não seja absolutamente necessário.

    
por 10.04.2015 / 20:05
8

As coisas que eu saio do tmux eu não entendo facilmente na tela são:

  1. faz divisões do painel vertical
  2. multiplexação, que usamos para emparelhamento remoto e local.
por 06.01.2011 / 16:38
8

Estou usando o tmux há cerca de dois dias agora, então meu entusiasmo desenfreado por ele ainda não foi atenuado por casos de uso irritantes. Ao passar pelas costumeiras dificuldades de fazer a transição de um programa para outro, fiquei impressionado com várias características positivas, mas o recurso que me faz acreditar que nunca voltarei à tela é o utilitário do modo copiar e colar. Na tela, você não pode entrar no modo de cópia, rolar para trás no buffer e depois ir para outra janela. No tmux, você pode ter várias janelas simultaneamente no modo de cópia com o buffer rolado de volta para diferentes posições. Além disso, existem vários buffers de cópia. E você não precisa corrigir a fonte para obter o movimento do cursor fFtT.

    
por 19.04.2012 / 19:30
4

Eu substituí a Tela GNU por tmux em todos os casos de uso, exceto um - quando eu precisar de um HyperTerminal equivalente para se conectar a portas seriais. Como Aaron Toponce observou em seu artigo "Conectando-se a modems nulos de série Com o GNU Screen ", a FAQ do tmux afirma:

screen has builtin serial and telnet support; this is bloat and is unlikely to be added to tmux.

Meu típico caso de uso tmux é criar sessões de desenvolvimento com vários painéis e várias janelas em combinação com tmuxinator . Se você quer aprender tmux , eu recomendo pegar o livro de Brian P. Hogan, tmux: Desenvolvimento Productive Livre de Mouse .

    
por 17.01.2016 / 17:10
1

Eu diria que a disponibilidade da tela é sua força, mas seu sistema de janelas não é tão fácil de lidar quanto tmux . Devo dizer que uso gnu-screen na maioria das vezes no presente e como resultado, tem muitas abas de terminal em vez de janelas de tela.

@Jed Schneider: você pode dividir verticalmente o painel Ctrl + A e depois | (barra vertical).

    
por 21.06.2012 / 17:27
0

Um dos mantenedores do tmux, Thomas Adam, também é listado como um mantenedor de o projeto screen embora ele apenas toque no código tmux, que é um grande pro do tmux sobre a tela.

    
por 15.12.2017 / 23:15