Tutorial Tmux: O Que É, Como Instalar e Lista de Comandos

O Tmux é uma ferramenta que permite aos usuários criar várias sessões de terminal virtual no sistema, cada uma executando um processo individual. Ele funciona de forma semelhante a outros multiplexadores, como o GNU Screen, mas oferece recursos aprimorados de gerenciamento de janelas.

Além de melhorar a colaboração de tarefas, o tmux permite que os usuários mantenham processos de longa duração em segundo plano e salvem o estado do Terminal após a desconexão. Isso torna a ferramenta adequada para gerenciar um sistema remoto, como um servidor virtual privado (VPS).

Neste artigo, abordaremos tudo o que você precisa saber sobre o uso do tmux. Isso inclui o processo de instalação, atalhos de teclado, casos de uso comuns e benefícios em relação ao Terminal tradicional.

O Tmux é um multiplexador de terminal que permite criar várias sessões de shell no sistema, cada uma executando um processo separado. Ele mantém as tarefas em execução em segundo plano, permitindo que os usuários continuem seu trabalho mais tarde.

O Tmux permite que você crie várias sessões de Terminal para uma colaboração eficiente. Para melhorar seu fluxo de trabalho, você também pode modificar as configurações por meio do arquivo tmux.conf.

Como Instalar o Tmux

Para configurar o tmux, faça login no sistema remoto como raiz usando um cliente SSH como o PuTTY. Os usuários de hospedagem VPS da Hostinger podem encontrar as credenciais na guia de acesso SSH na página de visão geral do VPS do hPanel.

dados de acesso ssh no vps pelo hpanel

Depois de se conectar, certifique-se de mudar para outro superusuário, pois a execução de comandos errados usando o root pode causar problemas sérios:

su username

Antes de instalar o tmux, atualize o repositório de pacotes do seu sistema. Esse comando será diferente em cada sistema operacional Linux. Como exemplo, veja como fazer isso no Ubuntu:

sudo apt update

Em seguida, execute o seguinte comando Linux para instalar o tmux:

sudo apt install tmux

Ajuste o comando de acordo com o gerenciador de pacotes do seu sistema. Por exemplo, o CentOS usa o yum ou o dnf em vez do apt.

Após a conclusão do processo de configuração do tmux, verifique se ele está configurado corretamente consultando a versão:

tmux -V

Se o Terminal retornar o número da versão, o tmux está instalado corretamente. Caso contrário, ele apresentará o erro “command not found“.

checando a versão do tmux

No tmux, você pode dividir o Terminal em sessões, janelas e painéis. Eles são shells dedicados e isolados nos quais você pode executar comandos ou processos sem afetar os outros.

A única diferença é sua estrutura hierárquica, que oferece modularidade para uma organização eficiente de tarefas. Uma sessão é uma coleção de janelas, enquanto os painéis são subdivisões de uma única janela.

Atalhos e Combinações de Teclas do Tmux

Os atalhos de teclado do tmux são essenciais para o gerenciamento de janelas e painéis. Veja a seguir algumas das combinações de teclas mais úteis e suas funções:

  • Ctrl-b + d – desvincula-se da sessão atual.
  • Ctrl-b + % – divide uma janela em painéis superior e inferior.
  • Ctrl-b + ” – divide uma janela em dois painéis verticalmente.
  • Ctrl-b + seta – move para um painel diferente em uma direção.
  • Ctrl-b + x – fecha o painel atual.
  • Ctrl-b + c – cria uma nova janela.
  • Ctrl-b + n – passa para a próxima janela com base no número.
  • Ctrl-b + p – retorna à janela anterior.
  • Ctrl-b + número de ID – pula para uma janela específica usando o número de ID.
  • Ctrl-b + : – abre o modo de linha de comando.
  • Ctrl-b + ? – imprime todos os atalhos.
  • Ctrl-b + w – lista todas as janelas da sessão atual.

Observe que os atalhos do tmux só funcionam em uma sessão do tmux. O mais importante é que, para que as combinações de teclas funcionem, você precisará pressionar Ctrl-b antes da tecla que deseja usar, conforme mostrado acima.

Como Usar o Tmux

Vamos dar uma olhada em como os administradores de sistema podem usar o tmux para um fluxo de trabalho mais eficiente. Você aprenderá a iniciar sessões do tmux, criar várias janelas, dividir painéis e personalizar suas configurações.

Iniciando Uma Nova Sessão

Para iniciar o tmux e criar sua primeira sessão, execute um dos seguintes comandos na janela principal do Terminal:

tmux 
tmux new
tmux new-session
abrindo nova sessão do tmux

Observe que você deve executar esses comandos na janela principal do Terminal. Embora seja possível criar uma nova janela em uma sessão existente, isso não é recomendado e requer a desinstalação da variável de ambiente $TMUX.

Por padrão, uma nova sessão do tmux usará um número de ID para identificação. No entanto, você pode dar um nome personalizado usando a opção -s:

tmux new-session -s [nome]

Vinculando e Desvinculando Sessões

Depois de criar uma nova sessão, você será automaticamente anexado a ela. Para se desconectar e sair do cliente tmux, pressione Ctrl-b + d. Para se conectar novamente à sessão mais recente, use o comando tmux attach-session. Você também pode entrar novamente em um shell específico digitando:

tmux attach-session -t [nome da sessão]

Como alternativa, conecte-se novamente a uma sessão de destino específica usando seu número de ID. Como o tmux inicia a ordem a partir do 0 por padrão, digite o seguinte para acessar o primeiro shell:

tmux attach-session -t 0

Gerenciando Sessões

Para listar todas as sessões ativas, execute um dos seguintes comandos do tmux. Você pode fazer isso no shell principal ou virtual:

tmux list-sessions
tmux ls

Sua interface de linha de comando mostrará todas as sessões com detalhes como nome, ID, número de janelas e data de criação. Você também verá a qual delas está vinculado no momento.

tmux exibindo todas as sessões ativas

Se você estiver em uma sessão de terminal virtual, poderá alternar para outra usando o seguinte comando. Semelhante à reconexão, use o nome ou o número de ID:

tmux switch -t [nome-da-sessao-ou-id]

Para encerrar a sessão atual, digite exit ou pressione Ctrl-d. Enquanto isso, execute este comando se quiser encerrar uma sessão específica:

tmux kill-session -t [nome-da-sessao-ou-id]

Atenção! Use o atalho ou comando de encerramento com cuidado, pois a sessão do tmux excluída desaparece permanentemente.

Criando e Navegando pelas Janelas

Por padrão, sua nova sessão do tmux será uma única janela do Terminal. Para dividi-la em duas, pressione Ctrl-b + c. A nova janela será exibida na barra de status inferior com seu nome e número de ID.

Sua janela atual do tmux está marcada com um asterisco (*). Você pode passar para a próxima janela pressionando Ctrl-b + n ou voltar para a anterior usando Ctrl-b + p.

criando janelas no tmux

Em vez de alternar entre várias janelas do Terminal, você pode ir diretamente para uma janela específica pressionando Ctrl-b + número de ID. Por exemplo, pressione Ctrl-b + 0 para retornar à primeira janela.

Renomeando e Organizando Janelas

Por padrão, o tmux criará uma nova janela chamada bash ou orsh. Se você tiver muitos processos, pode ser difícil distinguir entre eles, o que complica o gerenciamento de tarefas.

Atribua às novas janelas do tmux um nome personalizado para facilitar a identificação. Para fazer isso, navegue até a janela que deseja renomear e pressione Ctrl-b + : para entrar no modo de comando do tmux. Em seguida, execute o seguinte:

rename-window nome-da-janela

Substitua nome-da-janela pelo nome desejado. Você verá as informações da nova janela na barra de status inferior da sessão serem alteradas.

sessão ativa atual do tmux

Dividindo Janelas em Painéis

Para organizar uma tarefa mais específica, divida uma janela em vários painéis. Pressione Ctrl-b + ” para dividi-la horizontalmente ou verticalmente usando Ctrl-b + %.

Você pode repetir os atalhos de divisão de janelas para dividir ainda mais os painéis em áreas de trabalho menores. Por exemplo, esta é a aparência de sua janela atual depois de separá-la três vezes.

dividindo janelas em painéis no tmux

Navegando e Redimensionando Painéis

Para navegar entre os painéis, pressione Ctrl-b + uma tecla de seta de acordo com sua direção preferida. Sua posição atual é destacada com uma borda verde.

Você também pode passar para o próximo painel pressionando Ctrl-b + o ou retornar ao anterior usando o atalho Ctrl-b + ;.

Por padrão, a divisão de uma janela criará dois painéis com tamanhos idênticos. Para alterar a dimensão, pressione Ctrl-b e mantenha pressionada a tecla Alt e o botão de seta com base na direção do redimensionamento.

Pressione para cima para baixo para alterar a altura. Enquanto isso, use a tecla de seta para a direita ou para a esquerda para ajustar a largura.

redimensionando painéis no tmux

Observe que você só pode modificar o tamanho uma vez por pressionamento de tecla. Se quiser diminuir o tamanho de um painel duas vezes, será necessário repetir o atalho Ctrl-b + Alt-left.

Fechando Painéis

Para encerrar um painel, navegue até o painel que deseja fechar e pressione Ctrl-b + &. No entanto, recomendamos evitar esse método, pois, por não ter uma mensagem de confirmação, ele acaba se tornando propenso a exclusões acidentais.

Em vez disso, pressione Ctrl-b + x para fechar um painel com segurança. Isso exibirá uma janela de verificação, que você deve confirmar pressionando e pressionando Enter.

O encerramento dos painéis não afetará as tarefas em outras sessões. Além disso, lembre-se de que esse processo é irreversível.

Personalizando o Tmux

O Tmux permite criar um arquivo de configuração ao qual você pode adicionar código, personalizando sua aparência e comportamento. Dependendo do escopo, ele pode ser local ou global.

O arquivo local se aplica a um usuário específico e está localizado no diretório bash padrão da conta. Execute o seguinte para criá-lo:

sudo touch ~/.tmux.conf

Enquanto isso, a configuração global se aplica a todo o sistema e está localizada no diretório /etc. Veja a seguir como criar uma:

sudo touch /etc/tmux.conf

Para adicionar o código de configuração, abra o arquivo usando um editor de texto como o Nano. Você pode alterar muitas configurações, inclusive a aparência e os atalhos.

Por exemplo, o snippet a seguir alterará as associações de teclas de prefixo padrão de Ctrl-b para Ctrl -a:

# Change prefix from 'Ctrl+B' to 'Ctrl+A'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

Além disso, você pode modificar o número de ID inicial. Por exemplo, o seguinte código de configuração do tmux o altera de para 1:

# Start counting pane and window number at 1
set -g base-index 1
setw -g pane-base-index 1

Para salvar as alterações, pressione Ctrl+XEnter.

comandos para personalizar o tmux

Por Que Usar o Tmux

Em um Terminal Linux tradicional, os usuários só podem trabalhar em uma tarefa por sessão e não podem continuar seu progresso após a desconexão. O Tmux ajuda a resolver esse problema, oferecendo os seguintes benefícios:

  • Gerenciamento de tarefas e sessões. Os administradores de sistema podem criar várias sessões para agrupar tarefas. Eles também podem vincular janelas, replicando um processo em outro para obter consistência.
  • Multitarefa. Os usuários podem se desconectar de uma sessão e voltar a se conectar de onde pararam. Isso permite uma multitarefa eficiente, pois eles podem trabalhar em várias tarefas sem interrupções.
  • Trabalho remoto. O servidor tmux preserva todos os processos em execução, mesmo quando o usuário se desconecta. Ele permite que você trabalhe de forma confiável em um sistema remoto, como um VPS, sem se preocupar com a conexão SSH
  • Processos de longa duração. Os processos no tmux permanecerão ativos até que o usuário os encerre. Esse recurso é útil para tarefas como histórico, registro de eventos ou implementação de um aplicativo.

Conclusão

O Tmux é um multiplexer que permite criar várias sessões de shell em seu sistema. Esses pseudo-terminais podem executar um processo dedicado, que permanece em execução mesmo depois que você se desconecta da máquina.

Depois de instalar a ferramenta, execute o comando tmux para criar uma sessão e conectar-se automaticamente a ela. Para desconectar, execute attach-session -t e encerre-a digitando exit. Para listar todas as sessões, use tmux ls.

Você pode dividir uma sessão do tmux em várias janelas pressionando Ctrl-b + c. Alterne entre elas usando Ctrl-b + n ou p. Essas janelas serão chamadas de bash ou sh por padrão, mas você pode renomeá-las com o comando rename-window.

Para dividir a área de trabalho em instâncias menores chamadas painéis, pressione Ctrl-b + ” ou %, dependendo da orientação. Você pode personalizar ainda mais o tmux modificando o arquivo de configuração ~/.tmux.conf.

Perguntas Frequentes Sobre o Tmux

Para ajudar a aprofundar seu conhecimento, esta seção responderá a várias perguntas frequentes sobre o tmux.

Quais São os Benefícios de Usar o Tmux?

Os administradores de sistema podem criar várias sessões do tmux para organizar tarefas e colaborar com mais eficiência. Eles também podem manter os processos em execução em segundo plano, mesmo após a desconexão.

Com o tmux, o trabalho remoto também se torna mais eficiente, pois os usuários podem continuar de onde pararam em caso de problemas de conectividade.

Qual é a Diferença entre Tmux e Screen?

O Tmux tem vários aprimoramentos em relação ao GNU Screen. Por exemplo, ele oferece mais recursos de gerenciamento de janelas, como renomeação e vinculação.

O Tmux também oferece mais opções de configuração, o que permite ajustar a ferramenta às suas necessidades específicas. Além disso, esse multiplexador de terminal usa uma linguagem de script nativa mais flexível.

Posso Personalizar a Aparência e o Comportamento do Tmux?

Sim. Você pode personalizar o tmux para o usuário atual adicionando o código de configuração ao arquivo ~/.tmux.conf. Para modificações em todo o sistema, use o arquivo/etc/tmux.conf.

Por exemplo, você pode recolorir o plano de fundo da janela, alterar o número de ID inicial e adicionar um novo atalho de tecla de prefixo.

Author
O autor

Ariane G.

A Ariane é SEO Team Leader com experiência em conteúdo, localização e SEO. Seu desafio é levar a Hostinger ao topo dos resultados no Brasil, França e Reino Unido. Eventualmente ela compartilha seu conhecimento no blog e nos tutoriais da Hostinger e no tempo livre ela gosta de explorar lugares novos e viver intencionalmente.