Como utilizar o tmux

Já deve ter ouvido falar de tmux. Hoje vamos falar sobre como utilizar o tmux, ou seja: o que é, para que serve e como utilizá-lo.

O que é TMUX?

El comando tmux es un multiplexor de terminales, como también lo es el comando screen. En este Articulo vamos a comparar los dos ¿Es tmux realmente mejor, o es solo es un tema de preferencias?

Mas o que é um multiplexador terminal?

Bem, um multiplexador terminal é um sistema que nos permite ter pseudo-terminais “dentro de um terminal”. Ou seja, quando executamos o comando screen ou tmux, por exemplo, podemos sair da sessão screen mas mais tarde podemos reentrar e recuperar a sessão (e o programa terá continuado a sua execução se estivesse a correr). Isto é útil para evitar que nos desliguem da execução de um comando se nos desligarem, por exemplo. Com o tmux, podemos também dividir o ecrã em vários terminais, ampliar um, voltar a dividir os ecrãs, etc.

Instalação de tmux

A instalação do tmux é realmente simples. no ubuntu, por exemplo:

sudo apt-get install tmux

Nos sistemas baseados no RedHat:

yum install tmux

E em sistemas baseados em Arch Linux:

sudo pacman -Sy tmux

Iniciar uma sessão de tmux

Para iniciar uma nova sessão, basta digitar tmux no terminal e pressionar enter.

Quando iniciarmos uma nova sessão de tmux, veremos na barra de estado uma barra de estado mostrando o nome do host, data e hora. No lado esquerdo, são apresentadas mais informações relacionadas com a sessão:

  • [0]: Indica o nome da sessão, por defeito representado por números que começam com zero.
  • 0: bash *: O 0 indica o número da janela, neste caso, a primeira janela da sessão. Se executar outra aplicação, o nome desta irá substituir a bash. O asterisco representa que esta é a janela que tem o foco. Cada vez que se abre uma nova sessão, janela ou programa, estes dados são modificados.

Uma das diferenças entre o comando tmux e screen é precisamente esta barra de estado, com screen você não a tem.

Iniciar uma sessão com um nome personalizado

Para alterar o nome da sessão, executar o comando tmux como se segue:

tmux nuevo -s NOMBRE

Isto é, se quisermos nomear a sessão como minha sessão1 , será:

tmux nuevo -s my-session1

A barra de estado irá mostrar: [my-session1] 0:bash* 

Começar com o tmux

A aplicação tmux tem muitas opções, para aceder a elas tem de pressionar as teclas CTRL+b e depois de pressionar estas duas teclas em conjunto pressione apenas a tecla indicada no comando.

Listar sessões de tmux activas

Para listar sessões activas com o tmux, faz exactamente o mesmo que com o screen, utilizando o sub-comando tmux ls, como se mostra abaixo:

ger@host:~$ tmux ls
1: 1 windows (created Thu Oct 27 07:50:46 2022)
ger@host:~$

O primeiro número que aparece é o nome da sessão, no caso de uma sessão chamada “mysess” pareceria assim:

ger@host:~$ tmux ls
mysess: 1 windows (created Thu Oct 27 07:50:46 2022)
ger@host:~$

Recuperar sessões activas

Depois de listarmos as sessões activas, podemos recuperá-las com tmux attach -t SESSION_NAME onde SESSION_NAME é o nome da sessão, como se vê abaixo:

ger@host:~$ tmux ls
mysess: 1 windows (created Thu Oct 27 07:20:46 2022)
ger@host:~$ tmux attach -t mysess

 

Sair da sessão actual deixando-a em segundo plano

Se estivermos numa sessão e quisermos deixá-la em segundo plano, podemos correr CTRL+b e depois d para deixar a sessão a correr em segundo plano:

Isto pode ser útil para deixar as tarefas de longa duração em segundo plano e recuperar a sessão mais tarde, como faríamos com o screen.

Tendo scroll em tmux

Se começou a “jogar” com tmux pode pensar que não tem scroll, se precisar de scroll, deve premir CTRL+b e depois RE-PAG com isto poderá rolar sem problemas ou rolar com as setas direccionais para cima e para baixo.

Lista de comandos para tmux

Um resumo rápido do que pode ser feito em termos gerais é o seguinte:

Comandos de sessão

AcçãoComandoDescrição
Criar nova sessãotmux new -s SESSION_NAMECriar uma nova sessão de tmux
Entrar na sessão activa do tmuxtmux attach -t SESSION_NAMERecuperar uma sessão activa
Listar sessões de tmux activastmux lsLista de sessões de tmux
Deixar a sessão em backgroundCTRL+b y despois dDeixar uma sessão de tmux em segundo plano

Comandos de janela

AcçãoComando (a ser executado após CTRL+b)Descrição
Criar nova janelacCria uma nova janela na sessão activa
Mudar para a janela seguintenPassa para a seguinte janela dentro da sessão activa
Mudar para a janela anteriorpPassa para a janela anterior da sessão activa
Fechar janelaxFechar janela activa da sessão em curso (pede confirmação)

Comandos de painel

AcçãoComando (a ser executado após CTRL+b)Descrição
Dividir horizontalmente a janela actualDividir horizontalmente a janela activa em 2 vidros (2 terminais).
Dividir a janela actual verticalmente%Dividir verticalmente a janela activa em 2 vidros (2 terminais)
Alterar painel activoSeta direccionalAlterar o painel activo utilizando as setas direccionais para escolher a direcção do painel a alterar.
Breve apresentação dos números do painelqCada painel tem um número atribuído, este comando mostra-os durante um curto período de tempo.
Percorrer os painéis por ordem até ter passado por todos eles.oPercorrer os painéis por ordem até ter passado por todos eles.
Troca a posição do painel actual com o próximo.}Trocar a posição dos painéis com a seguinte, mesmo que ambos tenham algo em funcionamento.
 Troca a posição do painel actual com o anterior.{Trocar a posição dos painéis com a anterior, mesmo que ambos tenham algo em funcionamento.
Fecha o painel actual.xFecha o painel actual (pede confirmação)
Maximiza ou redimensiona o painel actual para o tamanho normalzMaximiza ou redimensiona o painel actual para o tamanho normal

Deixe uma resposta