Um multiplexador de terminal é um programa que permite usar vários terminais dentro de uma única janela de terminal.
O que mais gosto em um multiplexador de terminal é a possibilidade de dividir a tela em várias janelas. Isso torna o trabalho muito mais organizado, permitindo acompanhar diferentes processos ao mesmo tempo sem precisar abrir vários terminais separados. A divisão em janelas deixa tudo visível e acessível, facilitando tanto a produtividade quanto a navegação entre tarefas.
tmux é um multiplexador de terminal moderno que permite abrir várias janelas e dividir a tela em múltiplos painéis dentro de uma única sessão SSH. Ele também permite desconectar e reconectar à mesma sessão sem perder processos em execução. É muito usado para administração de servidores, desenvolvimento e tarefas que precisam continuar mesmo após fechar o terminal.
screen (GNU Screen) é um multiplexador mais antigo, com função semelhante: criar sessões persistentes e múltiplos terminais em um só. Embora seja estável e simples, tem menos recursos e uma experiência mais limitada comparada ao tmux. Por isso, tmux se tornou o padrão para quem quer mais flexibilidade, personalização e atalhos mais intuitivos.
Prefixo padrão
O tmux usa o prefixo Ctrl + b para ativar comandos.
(Em muitos setups, as pessoas mudam para Ctrl + a, mas o padrão é Ctrl + b.)
Atenção:
No tmux, não se pressiona Ctrl + b + ? tudo ao mesmo tempo.
Funciona em duas etapas:
- Pressione
Ctrl + b→ isso ativa o prefixo do tmux. - Solte e depois aperte
?→ isso executa o comando associado ao prefixo (neste caso, abrir a tela de ajuda).
Então:
- Não são 3 teclas juntas.
- É prefixo (
Ctrl + b) → depois outra tecla (?).
Gerenciar sessões
Uma sessão tmux é um ambiente de terminal persistente que continua rodando independentemente da sua conexão.
Usar sessões dá persistência, organização, segurança e flexibilidade no trabalho com terminais.
Vantagens de usar sessões no tmux
- Persistência: Você pode desconectar do tmux e tudo continua rodando (clipes, servidores, builds etc.). Ao voltar, basta anexar (tmux attach) e retomar exatamente de onde parou.
- Organização: Mantenha diferentes projetos separados em sessões distintas. Dentro de cada sessão, você pode ter múltiplas janelas e splits.
- Gerenciamento remoto: Ideal para servidores: você pode se desconectar de uma máquina remota sem interromper tarefas em execução.
- Segurança contra perda de trabalho: Se a conexão SSH cair, a sessão tmux não é fechada, evitando perda de processos ou de contexto.
- Flexibilidade: Você pode criar, renomear, alternar e matar sessões facilmente.
| Ação | Comando |
|---|---|
| Criar nova sessão | tmux new -s nome |
| Listar sessões | tmux ls |
| Anexar a uma sessão | tmux attach -t nome |
| Desanexar | Ctrl + b, d |
| Renomear sessão | Ctrl + b, $ |
| Matar sessão | tmux kill-session -t nome |
Gerenciar janelas (windows)
Uma janela no tmux é uma área de trabalho dentro de uma sessão, semelhante a uma aba, que pode conter um ou vários painéis. Ela permite organizar diferentes tarefas e alternar rapidamente entre elas, mantendo tudo dentro da mesma sessão.
Principais características
- Funcionam como abas: Assim como abas no navegador, cada janela pode estar rodando algo diferente: um editor, um servidor, um log etc.
- Podem ser divididas em painéis: Cada janela pode ser fragmentada em panes (split horizontal ou vertical), criando múltiplas áreas na mesma janela.
- Têm nomes e números: tmux identifica cada janela por número (0, 1, 2 …). Você também pode dar um nome para facilitar a organização.
- Navegação rápida: Depois de pressionar o prefixo (Ctrl + b), você pode. Ir para a próxima teclando n ou Ir para a anterior teclando p
| Ação | Atalho |
|---|---|
| Nova janela | Ctrl + b, c |
| Listar janelas | Ctrl + b, w |
| Alternar entre janelas | Ctrl + b, n (próx.) / Ctrl + b, p (ant.) |
| Ir para janela específica | Ctrl + b, número |
| Renomear janela | Ctrl + b, , |
| Fechar janela | Dentro da janela: exit ou Ctrl + b, & |
Dividir o terminal (panes)
| Ação | Atalho |
|---|---|
| Dividir verticalmente | Ctrl + b, % |
| Dividir horizontalmente | Ctrl + b, “ |
| Alternar entre panes | Ctrl + b, seta |
| Rotacionar panes | Ctrl + b, o |
| Fechar pane | exit ou Ctrl + b, x |
| Converter pane em janela | Ctrl + b, ! |
Redimensionar panes
Modo simples (se estiver habilitado):
- Ctrl + b, Ctrl + seta
Modo de redimensionamento:
- Ctrl + b, :resize-pane -D (para baixo)
- Ctrl + b, :resize-pane -U (para cima)
- Ctrl + b, :resize-pane -L (esq.)
- Ctrl + b, :resize-pane -R (dir.)
Copiar e colar (copy-mode)
| Ação | Atalho |
|---|---|
| Entrar no copy-mode | Ctrl + b, [ |
| Sair | q |
| Iniciar seleção | Ctrl + Barra de espaço |
| Copiar | alt + w |
| Colar | Ctrl + b, ] |
Outros úteis
| Ação | Atalho |
|---|---|
| Ver hora | Ctrl + b, t |
| Recarregar config | Ctrl + b, :source-file ~/.tmux.conf |
| Mostrar atalho de todas as teclas | Ctrl + b, ? |
Linux: Como Deixar Colorido o Texto do Terminal?
Outros coisas que usuários também gostam
Sessões persistentes
Mesmo que o terminal feche ou a conexão SSH caia, a sessão continua rodando. Basta reconectar e tudo está exatamente como antes.
Organização com múltiplas janelas e panes
Alternar rapidamente entre diferentes ambientes sem abrir vários terminais físicos.
Trabalhar remotamente com segurança
Ideal para servidores, já que comandos longos ou processos críticos não são interrompidos.
Automação e personalização
Atalhos configuráveis, scripts, status bars personalizadas (como no tmux), temas e plugins aumentam muito a produtividade.
Histórico e copy-mode
Permite rolar o histórico, copiar texto e navegar sem depender do terminal do sistema.
Control + b e ?
Depois de pressionar Ctrl + b + ?, o tmux abre a lista de atalhos (help).
É uma tela que mostra todos os comandos e teclas disponíveis.
Ctrl + b Ctrl + b Enviar a tecla de prefixo
[0/0]
Ctrl + b Ctrl + o Girar entre os painéis
Ctrl + b Ctrl + z Suspender o cliente atual
Ctrl + b Espaço Selecionar o próximo layout
Ctrl + b ! Quebrar o painel em uma nova janela
Ctrl + b " Dividir janela verticalmente
Ctrl + b # Listar todos os buffers de cópia
Ctrl + b $ Renomear a sessão atual
Ctrl + b % Dividir janela horizontalmente
Ctrl + b & Fechar (matar) a janela atual
Ctrl + b ' Pedir o índice da janela para selecionar
Ctrl + b ( Alternar para o cliente anterior
Ctrl + b ) Alternar para o próximo cliente
Ctrl + b , Renomear a janela atual
Ctrl + b - Excluir o buffer de cópia mais recente
Ctrl + b . Mover a janela atual
Ctrl + b / Descrever o atalho (binding)
Ctrl + b 0 Selecionar janela 0
Ctrl + b 1 Selecionar janela 1
Ctrl + b 2 Selecionar janela 2
Ctrl + b 3 Selecionar janela 3
Ctrl + b 4 Selecionar janela 4
Ctrl + b 5 Selecionar janela 5
Ctrl + b 6 Selecionar janela 6
Ctrl + b 7 Selecionar janela 7
Ctrl + b 8 Selecionar janela 8
Ctrl + b 9 Selecionar janela 9
Ctrl + b : Abrir prompt de comando
Ctrl + b ; Voltar ao painel ativo anteriormente
Ctrl + b = Escolher um buffer de cópia da lista
Ctrl + b ? Listar atalhos
Ctrl + b C Personalizar opções
Ctrl + b D Escolher e desconectar um cliente da lista
Ctrl + b E Distribuir os painéis igualmente
Ctrl + b L Ir para o último cliente
Ctrl + b M Limpar o painel marcado
Ctrl + b [ Entrar no modo de cópia
Ctrl + b ] Colar o buffer de cópia mais recente
Ctrl + b c Criar nova janela
Ctrl + b d Desconectar o cliente atual
Ctrl + b f Procurar um painel
Ctrl + b i Exibir informações da janela
Ctrl + b l Selecionar a última janela ativa
Ctrl + b m Marcar/desmarcar o painel
Ctrl + b n Selecionar a próxima janela
Ctrl + b o Selecionar o próximo painel
Ctrl + b p Selecionar a janela anterior
Ctrl + b q Mostrar números dos painéis
Ctrl + b r Recarregar/redesenhar o cliente atual
Ctrl + b s Escolher uma sessão da lista
Ctrl + b t Mostrar um relógio
Ctrl + b w Escolher uma janela da lista
Ctrl + b x Fechar (matar) o painel ativo
Ctrl + b z Dar zoom no painel ativo
Ctrl + b { Trocar o painel ativo com o painel acima
Ctrl + b } Trocar o painel ativo com o painel abaixo
Ctrl + b ~ Mostrar mensagens
Ctrl + b Delete Fazer a parte visível seguir o cursor
Ctrl + b PageUp Entrar no modo de cópia e rolar para cima
Ctrl + b ↑ Selecionar painel acima
Ctrl + b ↓ Selecionar painel abaixo
Ctrl + b ← Selecionar painel à esquerda
Ctrl + b → Selecionar painel à direita
Ctrl + b Alt + 1 Definir layout horizontal uniforme
Ctrl + b Alt + 2 Definir layout vertical uniforme
Ctrl + b Alt + 3 Definir layout horizontal principal
Ctrl + b Alt + 4 Definir layout vertical principal
Ctrl + b Alt + 5 Selecionar layout em ladrilhos
Ctrl + b Alt + n Selecionar próxima janela com alerta
Ctrl + b Alt + o Girar painéis ao contrário
Ctrl + b Alt + p Selecionar janela anterior com alerta
Ctrl + b Alt + ↑ Redimensionar painel para cima (5 linhas)
Ctrl + b Alt + ↓ Redimensionar painel para baixo (5 linhas)
Ctrl + b Alt + ← Redimensionar painel para a esquerda (5 colunas)
Ctrl + b Alt + → Redimensionar painel para a direita (5 colunas)
Ctrl + b Ctrl + ↑ Redimensionar painel para cima
Ctrl + b Ctrl + ↓ Redimensionar painel para baixo
Ctrl + b Ctrl + ← Redimensionar painel para a esquerda
Ctrl + b Ctrl + → Redimensionar painel para a direita
Ctrl + b Shift + ↑ Mover parte visível da janela para cima
Ctrl + b Shift + ↓ Mover parte visível da janela para baixo
Ctrl + b Shift + ← Mover parte visível da janela para a esquerda
Ctrl + b Shift + → Mover parte visível da janela para a direita