Mochileiro T.I
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Tutorial Tmux: instalação, utilização e personalização

Tmux revoluciona a maneira como utilizamos o terminal no Linux. Não fique de fora e aprenda através deste tutorial tmux como instalá-lo, fazer customizações e utilizá-lo de tal modo que você tenha um ganho significativo de produtividade!

O terminal multiplexer (ou Tmux) é um software que gerencia múltiplas sessões de terminal dentro de uma única janela, muito útil para quem trabalha com servidores ou desenvolvimento. Portanto, um tutorial de tmux vem bem a calhar principalmente se você trabalha em uma dessas áreas.

Mas antes de qualquer coisa, você pode estar se perguntando por que deveria utilizar uma ferramenta que apenas gerencia várias sessões de terminal.

Se ferramentas tradicionais de emulação de terminal, como o Gnome Terminal por exemplo, normalmente fornecem o recurso de múltiplas abas, por que então usar o Tmux?

Eu diria que ele não é apenas um multiplexador de terminais, é uma ferramenta capaz de incrementar seu terminal de uma maneira bastante sofisticada.

Além de oferecer a multiplexação em painéis e abas, ele é capaz de tornar as sessões persistentes, ou seja, você pode fechar seu terminal e ele continuará rodando em segundo plano.

Além disso, ele é altamente configurável e possui ampla variedade de plugins que permitem desde personalizar temas até modificar sua barra de status.

Ao longo deste artigo, veremos como instalar o Tmux, gerenciar e navegar entre as sessões organizadas por ele.

Por fim, o configuraremos de tal forma que tenha uma aparência mais agradável e ao mesmo tempo útil, mostrando informações úteis do sistema.

Então fique ligado e boa leitura!

Como instalar?

O processo de instalação do Tmux além de simples é bastante variado, podemos instalar por build, pacotes binários ou AppImage.

Como utilizo Ubuntu, ele se tornou meio que um padrão para os nossos artigos, portanto continuarei utilizando-o.

No entanto, o GitHub do projeto tem uma boa documentação para instalação em outros sistemas caso esse seja o seu caso. Você pode acessá-lo aqui.

Assim sendo, tudo que você precisa para ter o Tmux pronto é o famoso “apt install”:

sudo apt install tmux

Utilização do Tmux

Primeiramente precisamos compreender a estrutura hierárquica de organização de terminais do Tmux.

Ele organiza nossos terminais em sessões, janelas e painéis e disponibiliza meios para navegarmos entre estes terminais.

De forma resumida, cada sessão pode conter várias janelas que por sua vez também podem conter vários painéis.

A imagem abaixo deve esclarecer um pouco este conceito:

Diagrama hierarquia Tmux

Melhor ainda através de um exemplo prático, abre seu terminal e apenas digite “tmux”:

tmux

Com isso, você automaticamente criará uma sessão e verá uma pequena modificação no seu terminal padrão, conforme abaixo:

Tela padrão do Tmux

Note que agora, uma barra de status (verde) aparece na parte inferior do emulador de terminal.

Analisando da esquerda para direita, o “[0]” indica que estamos na primeira sessão e “0:bash*” indica que estamos na primeira janela.

O restante das informações são obviamente nome do host, data e hora do sistema, nada de mais.

Note ainda que possuímos apenas um único painel ocupando a janela toda com nosso prompt de comando aguardando por instruções.

Para sair do Tmux sem perder o terminal aberto (nem o que possa estar rodando nele) digite CTRL+b d (detach).

Já para retornar ao ponto de onde parou, digite:

tmux attach

Como resultado, o Tmux voltará à última sessão ativa. Sessões persistentes, lembra?

Gerenciando Painéis

Agora, pressione CTRL+B e em seguida digite %. A mágica começa a acontecer:

Tmux Painéis horizontais

Esse comando acrescenta um novo terminal no sentido horizontal a cada vez que é executado, ou seja, se você digitar CTRL+B % novamente, o Tmux criará outro terminal à direita, somando três no total.

Perceba que ainda temos apenas uma sessão e uma janela, somente acrescentamos um painel extra.

Repare ainda que agora estamos no painel da direita e não mais no painel original, que ficou na parte esquerda da janela.

O Tmux permite a criação de painéis da forma que desejarmos, tanto horizontalmente como verticalmente. Digite CTRL+B seguido de aspas duplas (“):

Tmux Painéis verticais

Da mesma forma que CTRL+B % acrescenta no sentido horizontal, CTRL+B “ acrescenta painéis no sentido vertical.

Experimente estes comandos à vontade e crie layouts da forma que desejar! Alterne entre os painéis com CTRL+B seguido das setas de navegação.

Em outras palavras, para voltar ao painel de cima digite CTRL+B e depois seta para cima. CTRL+B seguido de seta para esquerda aciona o painel da esquerda e assim por diante.

Caso queira fechar um painel, apenas digite “exit” no prompt de comando como se fosse encerrar normalmente o terminal.

Você pode ainda fechar painéis através de CTRL+B seguido de x. Uma mensagem pedindo confirmação aparecerá, apenas digite “y” para confirmar.

Gerenciando Janelas

Criar janelas é igualmente fácil, simplesmente digite CTRL+B c e outra janela aparecerá sobrepondo a anterior, conforme o exemplo abaixo:

Tmux primeira janela criada

Veja que a barra de status informa que outra janela existe em nossa área de trabalho. Agora, temos a indicação de “1:bash*” dizendo estamos na nossa janela recém-criada.

Importante ressaltar que:

  • O asterisco (*) na frente do nome da janela indica a janela selecionada.
  • Toda nova janela sempre contém apenas um único painel que preenche todo o espaço da mesma.
  • Por padrão, as janelas são enumeradas a partir do número zero.

Da mesma forma que fizemos com a janela anterior, podemos dividir a atual da maneira que desejarmos com os comandos CTRL+B % ou ” .

Além de criar, precisamos alternar entre janelas da mesma forma que alternamos entre painéis. Só que desta vez o comando é um pouco diferente.

Digite CTRL+B seguido do número da janela para “trazer” de volta a janela desejada. Seguindo nosso exemplo, como estamos na janela 1, basta digitar CTRL+B 0 para retornar a primeira.

Existe ainda um comando para “avançar” e outro para “retroceder” janelas que serve de alternativa aos números.

Por exemplo, digamos que você esteja na janela 0. Ao digitar CTRL+B n você avança para a janela 1. Um vez na janela 1, CTRL+B p retrocede a janela 0.

Por fim, para encerrar essa etapa de janelas do tutorial de Tmux, vamos renomeá-las para facilitar um pouco sua identificação.

Primeiramente, com a janela selecionada, digite CTRL+B : e um pequeno prompt abrirá no lugar da barra de status.

Digite rename-window janela0, se estiver na primeira janela ou rename-window janela1 se estiver na segunda. Se quiser, substitua janela0 ou janela1 pelo nome que desejar!

Janelas renomeadas

Veja que agora ou invés de 0:bash e 1:bash, temos 0:janela1 e 1:janela2. Bem mais fácil de identificar onde estamos!

Gerenciando Sessões

Assim como janelas abrigam painéis, sessões abrigam janelas bem como todos os seus respectivos painéis. Dessa forma, podemos organizar ainda mais nosso ambiente de trabalho.

Quando digitamos o comando “tmux” no terminal para entrarmos no ambiente do próprio Tmux, na verdade estamos criando uma nova sessão.

Portanto, o nosso exemplo já está vinculado a uma sessão, que recebeu o número zero como identificador. Para verificar quais sessões estão aberta, digite CTRL+b : e em seguida digite ls

Listagem de sessões com LS

Como resultado, temos as informações da nossa única sessão, onde consta seu nome (neste caso é 0), quantas janelas existem dentro desta sessão (2), data da criação e a indicação de que estamos conectados a ela (attached).

Vamos criar um nova sessão para enriquecer nosso exemplo. Digite novamente CTRL+b : e digite em seguida no prompt new-session. (sem ponto)

Agora liste novamente as sessões com CTRL+b : e ls

Listagem de sessões com LS

Veja a nossa nova sessão logo abaixo da primeira, agora com o “nome” sendo o número 1. Note também que automaticamente estamos conectados a ela (attached).

Navegação

E como podemos navegar entre as sessões? Bem, desta vez o Tmux oferece uma maneira mais visual e intuitiva. Pressione CTRL+b s e veja o que acontece:

Tmux navegação sessões

Pressione seta para direita sobre a sessão selecionada para expandir a árvore de informações (+). Repita a mesma operação nas janelas para ver seus painéis.

Por fim, pressione “enter” sobre o item desejado para ir direto a ele. Por exemplo, estamos “conectados” na sessão 0 conforme mostrado a cima.

Para irmos até a primeira janela da nossa segunda sessão, navegue com a seta para baixo até o item (4) e pressione enter. Assim, você navega diretamente até ele. Simples, não?

Renomear

Melhora ainda mais se renomearmos nossas sessões, assim compreendemos mais rapidamente o papel de cada uma.

Dentro de cada sessão, digite o tradicional CTRL+b : e em seguida rename-session nome-da-sessão.

Para melhor ilustrar, vamos imaginar que a primeira sessão será destinada para desenvolvimento e a segunda para acessar um servidor qualquer:

Sessões renomeadas

Interação com sessões de fora do Tmux

Até agora, usamos todos os comandos para gerenciar nossas sessões dentro do prompt do Tmux. No entanto, existe ainda a possibilidade de lançar esses mesmos comandos fora dele.

O comando “tmux” que utilizamos para iniciar o Tmux pode ser combinado com alguns parâmetros, como por exemplo o ls.

Então se digitarmos: (fora do Tmux)

tmux ls

Listaremos todas as sessões abertas, assim como fizemos no prompt interno (através do CTRL+b :).

desenvolvimento: 2 windows (created Sat May  3 10:35:11 2025)
servidor: 1 windows (created Sat May  3 10:36:18 2025)

O mesmo vale para criar novas sessões, veja como é muito semelhante ao que já fizemos:

tmux new-session
# Ou
tmux new-session -s nome-da-sessao
# para criar uma nova sessao já atribuindo um nome a ela

Como resultado de um novo “tmux ls”, temos agora:

2: 1 windows (created Sat May  3 10:44:25 2025)
desenvolvimento: 2 windows (created Sat May  3 10:35:11 2025)
servidor: 1 windows (created Sat May  3 10:36:18 2025)

Renomear sessões segue o mesmo conceito, com uma leve diferença. Como não estamos ligados a nenhuma sessão, precisamos informar o Tmux qual delas queremos renomear. Veja:

tmux rename-session -t 2 sessao-renomeada

Onde -t indica o nome da sessão que queremos renomear (neste caso tem o “nome” 2) e sessao-renomeada será seu novo nome, conforme podemos verificar com o “tmux ls”:

desenvolvimento: 2 windows (created Sat May  3 10:35:11 2025)
servidor: 1 windows (created Sat May  3 10:36:18 2025)
sessao-renomeada: 1 windows (created Sat May  3 10:44:25 2025)

Por fim, vamos encerrar a última sessão criada. Você deve até imaginar, mais ou menos, como será a estrutura do comando:

tmux kill-session -t sessao-renomeada

E assim voltamos ao estado original do nosso exemplo, com apenas duas sessões (desenvolvimento e servidor):

desenvolvimento: 2 windows (created Sat May  3 10:35:11 2025)
servidor: 1 windows (created Sat May  3 10:36:18 2025)

Tornando tudo mais atrativo: personalização!

Chegamos agora em uma das partes mais empolgantes do nosso tutorial de Tmux. Conforme você percebeu, o visual padrão da ferramenta não ajuda muito.

Por sorte, podemos ajustar diversas configurações para tornar a experiência não apenas mais confortável, mas também muito mais agradável.

Todas as configurações são aplicadas através do arquivo .tmux.conf localizado dentro da pasta padrão do usuário atual.

O Tmux não cria este arquivo durante a instalação, portanto precisamos criá-lo manualmente. Utilize seu editor favorito (no meu caso neovim) e crie seu primeiro arquivo:

nvim .tmux.conf

Dentro deste arquivo podemos modificar de teclas de atalho, adicionar uso do mouse, mudar posicionamento da barra de status e adicionar novas funcionalidades.

Gerenciador de Plugins do Tmux

Assim como em diversos softwares, podemos modificar o Tmux através de plugins e, para isso, existe um gerenciador de plugins que cuida da instalação e configuração dos mesmos.

Trata-se do TPM (Tmux Plugin Manager) que instalamos da seguinte forma:

Primeiramente baixe o repositório do gerenciador desta forma:

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Depois, adicione o seguinte dentro do .tmux.conf:

# Lista de plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Inicializa o Tmux (precisa ficar no final do arquivo)
run '~/.tmux/plugins/tpm/tpm'

Salve o arquivo e tecle CTRL+B I para instalar o plugin “tmux-sensible”. (Sempre que quisermos instalar um novo plugin, precisamos repetir este comando)

Por fim, para que as modificações tenham efeito, precisamos rodar o comando “source” conforme abaixo:

tmux source ~/.tmux.conf

Pronto, seu gerenciador de plugins está instalado!

Adicionando Temas

O visual do nosso espaço de trabalho é algo muito importante, principalmente quando passamos horas a fio em frente ao computador utilizando as mesmas ferramentas.

Então vamos adicionar um pouco de estilo ao nosso multiplexador de terminais com um tema muito conhecido chamado “catppuccin”.

Somente adicione as seguintes linhas (1 à 5) no início do arquivo conforme abaixo:

#Habilitar 256 cores
set -g degault-terminal "tmux-256-color"

# Lista de plugins
set -g @plugin 'catppuccin/tmux#v2.1.3'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Inicializa o Tmux (precisa ficar no final do arquivo)
run '~/.tmux/plugins/tpm/tpm'

Salve o arquivo e instale via CTRL+B I, em seguida digite tmux source ~/.tmux.conf. Veja o resultado:

Tema Catppuccin

Podemos melhorá-lo ainda mais! Vamos adicionar algumas informações extras a nossa barra de status, como por exemplo informações da sessão e utilização de CPU.

Antes, como iremos utilizar alguns ícones personalizados, precisamos instalar uma fonte compatível com o catppuccin.

Ele usa fontes do tipo “Nerd Fonts” e há uma ampla variedade delas no site do criador: Nerd Fonts – Iconic font aggregator, collection, and patcher.

Escolha a fonte que mais lhe agrada e em seguida baixe e copie a pasta dela para dentro do diretório /usr/share/fonts/truetype.

No nosso caso, por exemplo, escolhi a fonte FantasqueSansMono. Portanto, o diretório ficará dessa maneira:

Estrutura diretório de fontes

Por fim, para concluir a instalação, digite fc-cache -f -v e pronto!

Fonte instalada, adicione as linhas de 9 à 17 abaixo em seu arquivo .tmux.conf. Veja como fica o arquivo completo:

#Habilitar 256 cores
set -g degault-terminal "tmux-256-color"

# Lista de plugins
set -g @plugin 'catppuccin/tmux#v2.1.3'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Plugin para medição de CPU
set -g @plugin 'tmux-cpu'

#Modifica a barra de status para exibir mais informações:
set -g status-right-length 100
set -g status-left-length 100
set -g status-right "#{E:@catppuccin_status_application}" # Exibe nome da aplicação
set -agF status-right "#{E:@catppuccin_status_cpu}" # Exibe consumo de CPU
set -ag status-right "#{E:@catppuccin_status_session}" # Exibe status da sessão
set -ag status-right "#{E:@catppuccin_status_uptime}" # Exibe tempo de sessão

# Inicializa o Tmux (precisa ficar no final do arquivo)
run '~/.tmux/plugins/tpm/tpm'

Em seguida, salve o arquivo, pressione CTRL+B I para instalar o plugin “tmux-cpu” e atualize o tmux com o tmux source ~/.tmux.conf.

Veja o resultado:

Barra status aprimorada

Bem melhor que aquela barra verde padrão!

Configurações Extras

Para finalizar nosso tutorial de Tmux, vamos adicionar mais dois pequenos ajustes com o intuito de melhorar ainda mais tanto a acessibilidade quanto a aparência.

Primeiramente vamos possibilitar o uso do mouse para navegar entre as janelas e painéis ou redimensioná-los ao arrastar as bordas.

Assim, simplesmente adicione ao início do arquivo a seguinte linha:

set -g mouse on

Como resultado, podemos clicar sobre o nome das janelas para selecioná-las, clicar dentro dos painéis para selecioná-los ou ainda arrastar suas divisórias para redimensioná-los.

Por fim, vamos trocar a posição da barra de status da parta inferior da janela para a parte superior. Eu particularmente prefiro desta maneira, mas sinta-se à vontade para deixá-la onde preferir!

Fazer isso é muito simples; basta adicionar

set-option -g status-position top

E como resultado temos nossa barra no topo:

Barra de status no topo

Conclusão

Este tutorial de Tmux cobriu as partes essenciais de utilização e configuração desta maravilhosa ferramenta de multiplexação de terminais.

Evidentemente que muito mais coisas podem ser ajustadas de modo que torne sua experiência ainda mais agradável e ao mesmo tempo produtiva.

As documentações oficiais tanto do Tmux quanto de seus plugins (TPM, Catppuccin, Tmux-cpu, etc) encontram-se nas suas respectivas páginas do GitHub.

Nelas, você encontrará ajustes muito mais sofisticados e provavelmente conseguirá deixá-lo totalmente customizado com a sua cara.

Acho que vale muito a pena gastar um tempo para configurá-lo, já que certamente você fará isso apenas uma vez desde que guarde o .tmux.conf em um local seguro.

Na minha opinião, se você usa bastante o terminal, essa ferramenta é extremamente útil, uma vez que melhora sua produtividade ao oferecer uma interface aprimorada com atalhos rápidos.

Espero ter ajudado!

Até a próxima!