Come usare tmux: Un multiplexer per terminali per utenti esperti

tmux è un multiplexer di terminale che cambia le carte in tavola e che aumenta la produttività gestendo più sessioni, riquadri e flussi di lavoro persistenti in un unico terminale. Ideale per sviluppatori, sysadmin o chiunque lavori su server remoti, tmux mantiene le attività organizzate e resistenti. Questa guida semplifica l’uso di tmux con esempi pratici e suggerimenti per aumentare l’efficienza della riga di comando.

Che cos’è tmux?

tmux è un multiplexer per terminali open source che consente:

  • Sessioni multiple di shell all’interno di un terminale

  • Sessioni persistenti (anche dopo la disconnessione)

  • Suddivisione di riquadri e finestre

  • Condivisione della sessione tra gli utenti

  • Facile passaggio da un’attività all’altra senza lasciare il terminale

È come avere un gestore di finestre a piastrelle per il vostro terminale, disponibile ovunque, anche su connessioni SSH lente.

Installazione di tmux

Su Debian/Ubuntu:

sudo apt install tmux

Su CentOS/RHEL:

sudo yum install tmux

Su macOS:

brew install tmux

Come iniziare con tmux

Per avviare una nuova sessione tmux:

tmux

Ora siete all’interno di una nuova sessione. Ma per usarla in modo efficace, è necessario conoscere alcune combinazioni di tasti.

Prefisso predefinito: Ctrl b

Tutti i comandi di tmux vengono attivati con un prefisso, che per impostazione predefinita è:

Ctrl b

Quindi Ctrl b, poi % crea una divisione verticale e così via.

Comandi essenziali di tmux

ComandoAzione
tmuxAvviare una nuova sessione
tmux new -s mysessionAvviare una sessione con nome
tmux attach -t mysessionRiattacca a una sessione
tmux lsElenca le sessioni
tmux kill-session -t mysessionUccidere una sessione
uscireEsce dal riquadro/finestra corrente (o uccide tramite tmux kill-pane)

Suggerimenti e trucchi avanzati

1. Sessioni denominate per la persistenza

tmux new -s setup-server("nome-sessione")
Ctrl b, poi “
→ si hanno due pannelli orizzontali: superiore e inferiore

Riattaccare in qualsiasi momento:

tmux attach -t setup-server

🧮 2. Risparmiare tempo con gli script delle sessioni

Create .tmux.conf o script di shell per automatizzare la configurazione:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. Condividere la sessione con un altro utente

Consente sessioni di terminale collaborative (richiede autorizzazioni condivise):

sudo chmod s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. Personalizzare .tmux.conf

Esempio:

# Imposta il prefisso a Ctrl a (come GNU screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Supporto per il mouse
set -g mouse on

# Colori migliori
set -g default-terminal "screen-256color"

Ricaricare la configurazione:

tmux file sorgente ~/.tmux.conf

Caso d’uso: tmux su SSH

Quando si gestisce un VPS remoto tramite SSH:

  1. Connettersi via SSH

  2. Avviare una sessione tmux:

    tmux nuovo -s remoto
  3. Eseguire aggiornamenti o processi lunghi (ad esempio, apt upgrade)

  4. Disconnettersi quando la sessione persiste

  5. Ricollegarsi in seguito:

    tmux attach -t remote

💡 Questa funzione è preziosa per le connessioni inaffidabili, in particolare sui collegamenti mobili o satellitari.

tmux è uno degli strumenti più potenti nell’arsenale della riga di comando. Che si tratti di codifica, monitoraggio di server o gestione di più attività in remoto, tmux offre produttività, persistenza e precisione. Una volta imparato, diventa indispensabile per risparmiare tempo, preservare le sessioni e organizzare il flusso di lavoro del terminale come un professionista.

Conclusione

tmux trasforma il vostro terminale in uno spazio di lavoro potente e flessibile, perfetto per il multitasking, la gestione di server remoti o la codifica collaborativa. Con gli esempi e i suggerimenti di cui sopra, è possibile impostare rapidamente sessioni, automatizzare flussi di lavoro e mantenere attività persistenti. Che siate sviluppatori o sysadmin, tmux ottimizza la vostra esperienza con la riga di comando, facendovi risparmiare tempo e aumentando l’efficienza.