Tmux, um terminal que armazena suas sessões e abre vários terminas numa mesma janela
O tmux é um emulador de terminal, ele controla o terminal para você.
Ele permite fazer duas coisas importantes:
Abrir terminais e deixar suas sessões em aberto.
Isso é útil em sessões SSH, pois caso sua conexão caia, você pode retomar o terminal do mesmo ponto onde parou.
Abrir vários terminais em uma mesma janela.
Instalando o tmux
sudo apt install tmux
Usando o tmux
tmux
Comandos do tmux
# Listar todas as sessões tmux abertas e alternar entre elasctrl + b + s # Encerrando uma sessão tmux aberta x seguido de y (estando na tela de listar todas as sessões tmux abertas) # Divide verticalmente ctrl + b + % # Divide horizontalmente ctrl + b + " # Alterna entre painéis divididos ctrl + b + (setas) # Dar um nome à sessão ctrl + b + $ # Saindo de uma sessão sem terminá-la (detach) ctrl + b + d
Configurando parâmetros do tmux
Você pode configurar várias opções do tmux. Ao abrir-lo, ele executa o arquivo ~/.tmux.conf e atualiza as configurações.
Um exemplo de configuração boa para se inserir no .tmux.conf é a de habilitar o uso do mouse no terminal. Com essa configuração você consegue trocar de janelas clicando nelas com o mouse:
set -g mouse on
Copiando texto com o tmux
Clicar e arrastar o mouse não é suficiente para o tmux marcar o textos escolhidos porque assim que você soltar o marcado irá embora.
Para selecionar um trecho de texto no tmux segure SHIFT e clique e arraste com o mouse normalmente. O texto ficará marcado e pronto para ser copiado.
Fazendo o TMuX iniciar automaticamente
Adicione ao seu .bashrc
# tmux starting scriptif command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then exec tmux fi
Ou pode tentar esse, que não é tão a prova de erros:
[[ $TERM != "screen" ]] && exec tmux
TMux Versão 3
O Tmux versão 3 possui várias melhorias interessantes, mas ainda não está disponível para uso nos repositórios padrão.
Para usar o tmux na versão nova, você pode usar a imagem .AppImage encontrada aqui.
Copie o .AppImage do tmux para /usr/bin/
sudo cp tmux-3.1b.AppImage /usr/bin/tmux-3.1b.AppImage &&sudo chmod 755 /usr/bin/tmux-3.1b.AppImage
Edite o arquivo do tmux para seu usuário:
nano ~/.tmux.conf
Insira o seguinte:
set -g mouse onset -g default-terminal "xterm-256color" #set-option -g default-command bash
Para abrir o tmux3 digitando tmux3 no terminal, adicione o seguinte ao .bashrc
alias tmux3='TERM=xterm tmux-3.1b.AppImage'
Referências
Tutorial Tmux
https://terminalroot.com.br/2018/01/como-instalar-e-utlizar-o-tmux.html
Cheatsheet Tmux
https://gist.github.com/henrik/1967800
Usando o mouse com o tmux
https://stackoverflow.com/questions/11832199/tmux-set-g-mouse-mode-on-doesnt-work
Tutorial sobre tmux (foi daqui que descobri que o SHIFT ajuda a copiar textos)
https://www.rushiagr.com/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting/
Iniciando tmux automaticamente ao abrir um terminal
https://unix.stackexchange.com/questions/43601/how-can-i-set-my-default-shell-to-start-up-tmux
Tmux 3
Corrigindo erro do temux3 no debian
https://unix.stackexchange.com/questions/1045/getting-256-colors-to-work-in-tmux