Sessioni
| Operazione | Comando o tasto |
|---|---|
Collegarsi a work, o crearla | tmux new -A -s work |
| Nuova sessione in background | tmux new -d -s work |
| Elencare le sessioni | tmux ls |
| Collegarsi | tmux attach -t work |
| Staccarsi lasciandola in esecuzione | Ctrl+b d |
| Rinominare la sessione | Ctrl+b $ |
| Scegliere una sessione da un elenco | Ctrl+b s |
| Terminare una sessione | tmux kill-session -t work |
| Terminare tutte le sessioni | tmux kill-server |
| Verificare se una sessione esiste, per gli script | tmux has-session -t work |
Finestre
| Operazione | Tasto |
|---|---|
| Nuova finestra | Ctrl+b c |
| Successiva, precedente | Ctrl+b n, Ctrl+b p |
| Andare alla finestra 0 | Ctrl+b 0 |
| Ultima finestra usata | Ctrl+b l |
| Rinominare | Ctrl+b , |
| Scegliere da un albero di tutte le finestre | Ctrl+b w, e q per uscire |
Chiudere, dopo aver confermato con y | Ctrl+b & |
Pannelli
| Operazione | Tasto o comando |
|---|---|
| Dividere affiancando | Ctrl+b % |
| Dividere sopra e sotto | Ctrl+b " |
| Spostarsi tra i pannelli | Ctrl+b e un tasto freccia |
| Pannello successivo | Ctrl+b o |
| Ingrandire e ridurre | Ctrl+b z |
| Mostrare i numeri dei pannelli | Ctrl+b q |
| Trasformare un pannello in una finestra a sé | Ctrl+b ! |
Chiudere, dopo aver confermato con y | Ctrl+b x |
| Ridimensionare di 5 celle a sinistra | tmux resize-pane -L 5 |
| Scambiare con il pannello successivo | tmux swap-pane -D |
| Colonne uguali | tmux select-layout even-horizontal |
Scorrimento e copia
| Operazione | Tasto o comando |
|---|---|
| Entrare in modalità copia per scorrere | Ctrl+b [ |
| Uscire dalla modalità copia | q |
| Salvare in un file le ultime 3000 righe | tmux capture-pane -p -S -3000 > out.txt |
Altri tasti utili
| Operazione | Tasto |
|---|---|
| Elencare tutte le associazioni dei tasti | Ctrl+b ? |
| Digitare un comando tmux | Ctrl+b : |
| Mostrare un orologio | Ctrl+b t |
Usarlo negli script, dall'esterno
Dietro ogni tasto c'è un comando, quindi puoi pilotare tmux da uno script o via SSH:
tmux new -d -s work
tmux new-window -t work -n logs
tmux split-window -h -t work
tmux send-keys -t work 'echo hello' Enter
tmux capture-pane -p -t work
tmux kill-window -t work:logs
Dalla tua macchina, ssh -t user@server tmux new -A -s work entra direttamente in una sessione. Serve -t perché tmux vuole un terminale.
Configurazione
Le impostazioni vanno in ~/.tmux.conf. Queste due sono comuni:
set -g mouse on
set -g history-limit 50000
Carica il file senza riavviare:
tmux source-file ~/.tmux.conf
Le opzioni impostate mentre tmux è in esecuzione durano fino alla fine del server tmux. history-limit vale per i nuovi pannelli, non per quelli esistenti.
Messaggi che puoi incontrare
| Messaggio | Significato |
|---|---|
no server running on /tmp/tmux-1000/default | Non esiste nessuna sessione, per esempio dopo un riavvio |
can't find session: work | Quel nome non esiste. Controlla con tmux ls |
Per capire perché le sessioni sopravvivono a una connessione caduta e cosa invece non sopravvive, leggi come mantenere vive le sessioni SSH con tmux.
Se stai ancora scegliendo tra i due strumenti, leggi tmux o screen.
Domande
Come si scorre indietro in tmux?
Premi Ctrl+b [ per entrare nella modalità copia, poi usa le frecce o Pagina su. Premi q per uscire. Con set -g mouse on in ~/.tmux.conf scorre anche la rotella del mouse.
Come ci si stacca da tmux senza chiudere la sessione?
Premi Ctrl+b d. La sessione e i suoi programmi continuano a girare, e tmux attach -t work la riapre.
Come si chiude una sessione tmux?
Esegui tmux kill-session -t work, oppure scrivi exit nella sua ultima shell. tmux kill-server chiude tutte le sessioni.
Come cambio il prefisso di tmux in Ctrl+a?
Aggiungi set -g prefix C-a, unbind C-b e bind C-a send-prefix a ~/.tmux.conf, poi esegui tmux source-file ~/.tmux.conf. Premi due volte Ctrl+a quando un programma ha bisogno proprio di Ctrl+a.