Tabla de contenido
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ção | Comando | Descrição |
---|---|---|
Criar nova sessão | tmux new -s SESSION_NAME | Criar uma nova sessão de tmux |
Entrar na sessão activa do tmux | tmux attach -t SESSION_NAME | Recuperar uma sessão activa |
Listar sessões de tmux activas | tmux ls | Lista de sessões de tmux |
Deixar a sessão em background | CTRL+b y despois d | Deixar uma sessão de tmux em segundo plano |
Comandos de janela
Acção | Comando (a ser executado após CTRL+b) | Descrição |
---|---|---|
Criar nova janela | c | Cria uma nova janela na sessão activa |
Mudar para a janela seguinte | n | Passa para a seguinte janela dentro da sessão activa |
Mudar para a janela anterior | p | Passa para a janela anterior da sessão activa |
Fechar janela | x | Fechar janela activa da sessão em curso (pede confirmação) |
Comandos de painel
Acção | Comando (a ser executado após CTRL+b) | Descrição |
---|---|---|
Dividir horizontalmente a janela actual | “ | Dividir 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 activo | Seta direccional | Alterar o painel activo utilizando as setas direccionais para escolher a direcção do painel a alterar. |
Breve apresentação dos números do painel | q | Cada 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. | o | Percorrer 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. | x | Fecha o painel actual (pede confirmação) |
Maximiza ou redimensiona o painel actual para o tamanho normal | z | Maximiza ou redimensiona o painel actual para o tamanho normal |