Utilizzo di tmux: Un multiplexer per terminali per utenti esperti

Nel mondo dei flussi di lavoro basati sui terminali, uno strumento si distingue per essere un vero e proprio cambiamento per il multitasking, la gestione delle sessioni e gli ambienti persistenti della riga di comando: tmux. Abbreviazione di Terminal Multiplexer, tmux consente di eseguire, gestire e riprendere più sessioni di terminale all’interno di un’unica finestra di terminale.

Sia che stiate gestendo server remoti via SSH, eseguendo script di lunga durata o lavorando su più attività di sviluppo, tmux vi dà superpoteri alla 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 source-file ~/.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 new -s remote
  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.