Gerenciando sessões do TMUX

Gerenciando sessões do TMUX
Trabalhar remotamente em diferentes máquinas pode se tornar esmagador sem usar um programa como o TMUX. Além disso, ter que acompanhar o trabalho que você está fazendo em cada máquina enquanto tenta lembrar em que lugar você estava em cada janela do terminal para cada máquina pode sair rapidamente de mão.

No entanto, com um programa como o TMUX, essa sobrecarga de energia e tempo do desenvolvedor é removida completamente. Além disso, com o TMUX, você pode não apenas trabalhar com várias máquinas e vários ambientes ao mesmo tempo, mas também pode alternar rapidamente entre elas. Portanto, aprender a lidar melhor com as sessões do TMUX pode potencialmente aumentar sua produtividade e sua capacidade de trabalhar.

Listando sessões de TMUX

Para mostrar uma lista de todas as sessões do TMUX atualmente em execução em uma máquina, o comando tmux ls é usado no terminal, como mostrado abaixo:

As informações fornecidas pelo comando tmux ls aparecem na seguinte ordem:

  • Site1, que é o nome da sessão tmux listada aqui,
  • 2 Windows, que mostram quantas janelas estão nas sessões do site1 Tmux e
  • (Criado qui 9 de junho 03:08:42 2022), que mostra a data em que a sessão foi criada.

Se uma máquina não tiver sessões de tmux em execução quando você executa o comando tmux ls, a seguinte saída será mostrada:

Renomear sessões de TMUX

Como muitas outras operações para o TMUX, renomear uma sessão no TMUX pode ser feita de uma de duas maneiras. A primeira maneira de renomear uma sessão no TMUX é fazê -lo de fora da sessão, no terminal. Use o seguinte comando para renomear uma sessão:

$ tmux renomear -sessão -t

Por exemplo, na captura de tela abaixo, uma sessão do TMUX está em execução atualmente, chamada WebDev, que queremos renomear como site1.

Se a operação de renomeação for bem -sucedida, o comando não produzirá nada e podemos verificar o novo nome da sessão através de $ tmux ls como mostrado:

A segunda maneira de renomear uma sessão de tmux é de dentro da sessão. Semelhante ao exemplo acima, vamos renomear a sessão a seguir do WebDev para o site1:

A combinação de chave Prefixo, $ é usado para alcançar isso. Por exemplo, na minha instalação do Ubuntu, essa combinação de chave seria Ctrl + B, $.

O resultado é mostrado na captura de tela. Como você pode ver, a sessão agora é nomeada Website1 no canto inferior esquerdo do TMUX:

Criando uma nova sessão do TMUX com um nome

Da mesma forma, se você precisar criar uma sessão do TMUX com um nome de antemão, em vez de renomeá -lo mais tarde, poderá usar a seguinte sintaxe para tmux novo comando:

$ tmux novo -s

Por exemplo, se você deseja criar outra sessão em que esteja configurando outro servidor remoto para uso da VPN, pode criar uma sessão do TMUX chamada VPNServer usando o seguinte comando:

$ tmux novo -s vpnserver

Esta nova sessão do TMUX é mostrada abaixo:

Anexando -se às sessões do TMUX

Quando você deseja anexar seu terminal a uma sessão do TMUX atualmente em execução, o comando a ser usado é:

$ tmux anexo -t

Por exemplo, se você deseja continuar seu trabalho na sessão do site1 e atualmente seu terminal não está anexado a essa sessão específica do TMUX, você executa o seguinte comando:

$ tmux anexo -t site1

Para obter uma lista de sessões a que você pode anexar, use o comando ls como mostrado em uma seção acima.

Destacando -se das sessões da TMUX

O destacamento do tmux exige o uso do comando Prefixo + d. Por exemplo, na minha instalação do Ubuntu, o comando prefix é Ctrl + B; portanto, para se destacar da sessão atualmente em execução, preciso pressionar Ctrl + B e depois pressionar D para destacar. Depois de destacar seu terminal da sessão do TMUX, a sessão ainda está em execução. Isso significa que quaisquer processos que você deixou em execução na sessão, como HTOP, um download de arquivo através do CURL ou qualquer comando em lote, continuará sendo executado até concluir.

Esta função do TMUX funciona bem para servidores remotos, onde você precisa SSH para iniciar um processo e depois o executar em segundo plano. Diferentemente do comando diretamente do seu terminal através do SSH, o uso do TMUX permite que você use o Detach Command para executar qualquer processo em segundo plano.

Matando sessões de tmux

Matar uma sessão de tmux destrói completamente. Portanto, este comando deve ser usado com cuidado. Este comando não é reversível e pode levar a uma perda de trabalho.

Semelhante a renomear uma sessão do TMUX, há duas maneiras de matar uma sessão individual. A primeira maneira é através do terminal, e a segunda é de dentro da sessão de Tmux.

Para matar uma sessão do TMUX no terminal, use o seguinte comando:

$ tmux kill -session -t

Por exemplo, se eu tiver uma sessão de tmux em execução chamada VPNServer e quero matá -lo através do terminal, posso usar o seguinte comando:

$ tmux kill -session -t vpnserver

Como mostrado abaixo, a sessão não está mais disponível e é destruída.

A segunda maneira de matar uma sessão de tmux é de dentro da sessão. Simplesmente saia de todos os painéis e janelas que executam nessa sessão e saem da última janela da sessão. Isso fará com que a sessão seja morta, assim como teria sido através do terminal. A captura de tela abaixo mostra uma sessão de corrida de tmux chamada VPNServer:

Quando anexamos nosso terminal a esta sessão e saímos de todas as janelas, a sessão é morta. Isso pode ser visto nas capturas de tela abaixo:

Depois de sair de todas as janelas da sessão do VPNServer, o TMUX LS mostra que a sessão foi morta:

Matando todas as sessões do TMUX em uma máquina

Por fim, se você precisar matar todas as sessões do TMUX em uma máquina, poderá usar o seguinte comando:

$ tmux kill-server

Conforme mostrado na captura de tela abaixo, duas sessões do TMUX estão em execução, WebDev e VPNServer. Se você administra o comando Kill-Server, ambas as sessões serão mortas:

Em poucas palavras:

Para iniciar uma sessão do TMUX, use o seguinte comando:

$ tmux novo -s

Para se destacar da sessão atual do TMUX, use a seguinte combinação de teclas TMUX:

Ctrl + B D

Para recolocar para uma sessão do TMUX, use o seguinte comando:

$ tmux anexo -t

Para renomear uma sessão do TMUX, use o seguinte comando:

$ tmux renomear -sessão -t

Você também pode renomear a sessão do TMUX atualmente em execução usando a seguinte combinação de teclas TMUX:

Ctrl + b ,

Além disso, você pode usar o seguinte comando para matar uma sessão do TMUX:

$ tmux kill -session -t