Linux tux ninja

Acesse múltiplos terminais do seu sistema com o Tmux

Administradores de sistemas usam os terminais para realizar a maior parte de suas tarefas — ou, pelo menos aquelas sobre as quais precisam ter mais controle ou, ainda, executar com um nível maior de flexibilidade.
Para isto, é comum abrir mais de um terminal no sistema.
Quando se realiza várias atividades simultâneas de monitoramento, também é comum abrir um terminal para cada.
Em um ambiente gráfico, é possível alternar entre uma janela e outra com ‘Alt + Tab’.
Neste artigo, vamos falar do tmux — abreviatura para terminal multiplexer — um aplicativo simples, que permite controlar uma variedade de terminais a partir de uma só janela.

Um multiplexador de terminal ou terminal multiplexer permite alternar entre vários programas que estejam rodando, dentro de um único terminal.

O tmux permite alternar os programas entre o foreground e o background, além de retribuí-los a outros terminais.

Como instalar o tmux

Embora o processo de instalação varie muito pouco, nos dias atuais, entre uma distro e outra, vale ressaltar que escrevo este texto baseado no Debian 8.3 “Jessie”.
Você só precisa adaptar o comando de instalação à sua própria distribuição GNU/linux.

Se você usa os backports no Debian, dá para encontrar uma versão mais atualizada do aplicativo neste repositório. Observe o exemplo abaixo:

/* Versão disponível nos backports do Debian: */
aptitude -t jessie-backports show tmux | grep -i vers
Versão: 2.1-3~bpo8+1
/* Versão disponível no repositório padrão */
aptitude show tmux | grep -i vers
Versão: 1.9-6

Se você sabe lidar com o repositório dos backports no Debian (que não é difícil), com certeza não precisa da minha ajuda para instalar este software — neste caso, pule esta seção.

Não havendo um motivo muito forte para fazer o contrário, na minha máquina de trabalho, sempre uso o repositório padrão para instalar softwares:

sudo aptitude update
sudo aptitude install tmux

No Ubuntu, você provavelmente vai preferir usar o apt-get:

sudo apt-get update
sudo apt-get install tmux

Distribuições como o CentOS, RHEL e Fedora também devem ter o aplicativo nos seus repositórios básicos:

yum update
yum install tmux

Como funciona o tmux

A função do tmux é tornar possível a criação, o acesso e o controle de múltiplos terminais dentro de uma única tela.
Ao ser iniciado, o aplicativo cria uma nova sessão em uma janela, exibida na tela.
Uma linha de status, na parte inferior da janela de sessão do tmux, mostra informações concernentes à sessão atual. Pode também ser usada para fornecer comandos ao aplicativo.
Uma sessão é uma coleção de pseudo terminais sob a gestão do tmux.
Cada sessão tem uma ou mais janelas ligadas a ela.

Uma sessão é um contêiner para os consoles individuais gerenciados pelos tmux.

Uma janela ocupa uma tela inteira e pode ser dividida em painéis retangulares.
Cada painel representa um emulador de terminal.
Qualquer instância do tmux pode se conectar à mesma sessão e qualquer número de janelas pode estar presente na mesma sessão.
O tmux termina sua execução após a finalização da última sessão.

Cada sessão do tmux é persistente o suficiente para sobreviver a desconexões acidentais — como um timeout do ssh ou um desacoplamento intencional.

Para reacoplar use o seguinte comando:

tmux attach

Uma sessão é exibida na tela por um cliente e todas elas são gerenciadas por um único servidor. Este, cada cliente e todas as sessões pertencem a processos separados que se comunicam através de um soquete no diretório /tmp

Como usar o tmux

Para iniciar uma nova sessão chamada ‘mon’, digite:

tmux new -s mon

tmux new session
O nome da nova sessão é exibido no canto inferior esquerdo da janela.
Ações possíveis nesta sessão:

  • dividir o terminal em quantos painéis você quiser.
    Use Ctrl + b + ” para abrir um novo espaço horizontalmente e Ctrl + b + % para abrir um espaço verticalmente — você provavelmente irá ter que usar a tecla Shift para conseguir estas combinações de teclas.
    Cada painel representará um console em separado.
  • Ctrl + b + →↓↑← — use a combinação com as teclas direcionais para se movimentar entre os painéis.
  • Se você usar a mesma combinação de teclas, anterior, pode alterar o tamanho do painel ativo. Para isto, é necessário manter pressionada a tecla direcional, na direção que você deseja arrastar o quadro do painel.
  • Ctrl + b + t — para mostrar a hora atual dentro do painel ativo.
  • Ctrl + b + x — fecha o painel ativo. O tmux vai pedir confirmação antes de executar esta operação.
  • Ctrl + b + d — desacopla o painel ativo da sessão atual do tmux — ele volta a ser um terminal comum, dentro de uma janela comum.

No tmux, a combinação de teclas para realizar ações são chamadas de key bindings.
Se você sente que as key bindings padrão são inconvenientes para o seu uso, é possível alterá-las no arquivo .tmux.conf que pode ser encontrado dentro do /home de cada usuário.
Para fazer alterações que abranjam todo o sistema, edite o arquivo /etc/tmux.conf — se ele não existir, você vai ter que criá-lo. Para isto, use o primeiro como exemplo.
Havendo os dois arquivos de configuração, o tmux prioriza o de cada usuário.
Na documentação do programa, é possível encontrar mais informações sobre este e outros procedimentos — além de uma relação completa de teclas de atalho ou key bindings.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *