TMUX

Sobre

tmux é um multiplexador de terminal: permite criar, acessar e controlar múltiplos terminais (sessões, janelas e painéis) a partir de uma única tela. Uma sessão tmux pode ser destacada (“detach”) do terminal e continuar rodando em segundo plano, sendo reconectada (“attach”) depois — inclusive de outra máquina via SSH. É open-source, licenciado sob ISC License, com mais de 46 mil estrelas no GitHub, e roda em OpenBSD, FreeBSD, NetBSD, Linux, macOS e Solaris.

Dependências

  • libevent 2.x
  • ncurses
  • Compilador C (gcc/clang), make, pkg-config e yacc/bison (para build a partir do source)

Instalação

Via gerenciador de pacotes (recomendado na maioria dos sistemas — ex.: apt, brew, pacman).

A partir do tarball de release:

./configure && make
sudo make install

A partir do código-fonte (branch master):

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

Conceitos Principais

  • Sessão: um “workspace” independente que agrupa janelas; pode ser destacada e reanexada sem perder estado.
  • Janela (window): equivalente a uma aba, ocupa a tela inteira dentro da sessão.
  • Painel (pane): subdivisão de uma janela, permitindo múltiplos terminais lado a lado.
  • Prefixo: por padrão Ctrl+b, precede todos os atalhos de comando do tmux.

Comandos Essenciais

CLI (fora do tmux)

  • tmux new -s nome — cria uma nova sessão nomeada
  • tmux attach -t nome — reconecta a uma sessão existente
  • tmux ls — lista sessões ativas
  • tmux kill-session -t nome — encerra uma sessão

Atalhos (dentro do tmux, após o prefixo Ctrl+b)

  • d — detach (sai sem encerrar a sessão)
  • c — cria nova janela
  • n / p — próxima / janela anterior
  • % / " — divide o painel vertical / horizontalmente
  • setas — navega entre painéis
  • x — fecha o painel atual

Referências