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 comtmux 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ê digitasudo emacs /etc/somefile
. Enquanto sudo estiver pedindo sua senha, o nome da janela será "sudo", mas uma vez que você tenha feito isso esudo
lanceemacs
, o título será "emacs". Quando tudo estiver pronto e você sair doemacs
, 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 usandodialog
; 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
.