Olá a todos.
Ando a atrasar este post á quase seis meses e chegou finalmente a altura de o acabar e publicar.
Creio que todos que estão no ramo, já souberam do fim do suporte da RedHat ao screen, em favor do tmux. Este post vem falar precisamente disso, e nele exploraremos as razões por trás dessa decisão e as vantagens do TMUX em comparação com o Screen, além de fornecer exemplos práticos da utilização do TMUX em diferentes cenários para o adaptar ao nosso workflow diário.
Isto acaba por ser um reflexo do avanço da tecnologia onde as ferramentas que uma vez dominaram o cenário do desenvolvimento e administração de sistemas começam a ceder espaço para alternativas mais avançadas e eficientes como precisamente neste caso com a transição do Screen para o TMUX (Terminal Multiplexer).
O Fim do Suporte ao Screen pela RedHat
O Screen, uma ferramenta venerável que tem sido uma escolha popular entre os utilizadores de sistemas Unix-like por décadas, permitiu a gestão eficiente de sessões de terminal, facilitando a execução de várias tarefas simultaneamente. No entanto, com o surgimento de tecnologias mais avançadas e exigências crescentes dos utilizadores, suas limitações tornaram-se evidentes. A decisão da RedHat de encerrar o suporte ao Screen reflete a necessidade de adotar ferramentas mais modernas e flexíveis que possam atender às demandas atuais e futuras dos utilizadores.
Vantagens do TMUX sobre o Screen
- Interface Mais Amigável e Personalizável:
Uma das principais vantagens do TMUX sobre o Screen é sua interface mais moderna e personalizável. Os utilizadores podem facilmente ajustar o esquema de cores, configurar atalhos de teclado e criar layouts de janelas que atendam às suas preferências individuais. - Suporte a Divisão de ecrã/Screen split:
O TMUX oferece suporte nativo para divisão de ecrã, permitindo que os utilizadores dividam uma única janela em várias regiões. Por exemplo, um desenvolvedor pode dividir o ecrã verticalmente para visualizar o código-fonte e a execução de testes em paralelo. - Sessões Persistentes:
Uma das características mais poderosas do TMUX é sua capacidade de manter sessões persistentes. Mesmo que a conexão com o servidor seja interrompida, as sessões permanecem ativas e podem ser restauradas assim que o utilizador se reconectar. - Gestão Avançada de Janelas:
Com o TMUX, os utilizadores têm um controle refinado sobre a gestão de janelas. Podem criar várias janelas dentro de uma sessão, alternar entre elas com facilidade e até mesmo renomeá-las para uma melhor organização. - Scripting e Automação:
O TMUX oferece uma API robusta que permite a automação de tarefas e a criação de scripts personalizados. Isso é particularmente útil para administradores de sistemas que desejam automatizar processos repetitivos.
Exemplos Práticos da Utilização do TMUX:
- Web Development:
Um web developer pode usar o TMUX para criar uma sessão dedicada ao desenvolvimento de um projeto específico. Ele pode então dividir o ecrã horizontalmente para ter uma seção para o editor de texto e outra para visualizar o servidor de desenvolvimento local em tempo real. - Administração de Servidores:
Um administrador de sistemas pode iniciar uma sessão TMUX para gerir vários servidores remotamente. Ele pode criar uma janela para cada servidor, permitindo visualizar logs, executar comandos e realizar tarefas de manutenção de forma eficiente. - Compilação de Código:
Um programador pode usar o TMUX para acelerar o processo de compilação de código. Ele pode dividir a tela verticalmente para ver o código-fonte e a saída do compilador ao mesmo tempo, facilitando a identificação de erros e a depuração. - Treino e Demos:
Um instrutor pode usar o TMUX para criar uma sessão durante uma aula ou demonstração. Ele pode compartilhar facilmente o seu ecrã e alternar entre diferentes ambientes ou exemplos de código sem perder o contexto.
Cheat sheets do TMUX e referencias rápidas:
O próprio consorcio por detrás do tmux, lançou uma excelente pagina sobre o tema que pode ser consultada aqui. A página é indexada para melhorar a nossa pesquisa do comando especifico em questão.
Para alguns exemplos básicos temos:
Criar uma Nova Sessão:
Para iniciar uma nova sessão no TMUX, nós podemos utilizar o comando tmux new-session ou simplesmente tmux new.
tmux new-session -A -s mysession tmux new -s mysession
O primeiro comando inicia uma nova sessão ou se conecta a uma sessão existente chamada mysession. O segundo comando cria uma nova sessão com o nome mysession.
Encerrar uma Sessão:
Para encerrar uma sessão no TMUX, podemos usar o comando tmux kill-session.
tmux kill-session -t mysession tmux kill-session -a tmux kill-session -a -t mysession
O primeiro comando encerra a sessão chamada mysession. O segundo comando encerra todas as sessões, exceto a sessão atual. O terceiro comando encerra todas as sessões, exceto a sessão mysession.
Renomear uma Sessão:
Para renomear uma sessão no TMUX, teremos usar o comando tmux rename-session.
tmux rename-session -t oldname newname
Este comando renomeia a sessão com o nome oldname para newname.
Aceder uma Sessão Existente:
Para aceder a uma sessão existente no TMUX, podemos usar o comando tmux attach ou tmux attach-session.
tmux a tmux at tmux attach tmux attach-session
Estes comandos ligar-se-ão à última sessão utilizada.
tmux a -t mysession tmux at -t mysession tmux attach -t mysession tmux attach-session -t mysession
Estes comandos conectam-se a uma sessão específica com o nome mysession.
Listar de todas as sessões disponíveis para o utilizador onde o tmux está a ser usado:
Para listar todas as sessões activas no TMUX, pelo utilizador atual, podemos usar o comando tmux ls ou tmux list-sessions.
tmux ls tmux list-sessions
Estes comandos irão todas as sessões ativas.
E para refugiados do screen? Como aproveitar décadas de memória muscular?
Este texto foi contribuído por um dos nossos leitores que me chamou a atenção do mesmo, e faz todo o sentido. Como recuperar a memória muscular de décadas de uso de screen?
Para tal, enviou-me esta página que adiciono aqui, e que ensina a colocar no tmux os mesmos bindings do screen. Divirtam-se.
Obrigado ao Rui Seabra pela contribuição.
Conclusão.
À medida que o TMUX se estabelece como a escolha preferida para a gestão de sessões de terminal em sistemas Unix-like, é essencial que os nossos utilizadores acompanhem essa tendência e adotem as ferramentas mais adequadas para suas necessidades.
O fim do suporte ao Screen pela RedHat é um lembrete bastante audível da importância de evoluir com as tecnologias emergentes e garantir que nossos fluxos de trabalho permaneçam eficientes e produtivos. Com suas vantagens notáveis e capacidade de adaptação a uma variedade de cenários de uso, o TMUX continua a ser uma ferramenta essencial para desenvolvedores, administradores de sistemas e outros profissionais que dependem do terminal em seus trabalhos diários.
Até ao próximo post, e ja sabem se notarem alguma coisa errada, pf digam. Sabem onde me encontrar.
Um abraço
Nuno
PS: Para os mais observadores, o blog tem agora um mecanismo de auto translate para todas as linguas disponíveis para leitores não lusófonos. Sejam bem vindos, restante população mundial.