In un articolo precedente ho mostrato come utilizzare Screen and Byobu, per farla breve Screen è un emulatore di multiplexer di terminale sviluppato dal Progetto GNU. Permette all’utente di accedere a sessioni del terminale multiple e separate mentre Byobu è un miglioramento elegante del funzionale, semplice e pratico Screen. Byobu include un profilo migliorato e utility di configurazione per Screen window manager, come ad esempio la possibilità di aggiungere le notifiche di sistema a fondo schermo.
Ma oggi vedremo qualcosa di simile, ma diverso: Tmux
come Screen tmux abilita l’accesso e il controllo di diversi terminali (o finestre), ognuno con il suo programma, da un singolo terminale. Tmux permette di creare, accedere, e controllare tutti i terminali da un’unica schermata. tmux può essere staccato da uno schermo e continuare l’esecuzione in background, poi essere riattacato in seguito.
Tra le caratteristiche più notevoli di tmux ci sono:
- L’uso di comandi che utilizzano una sintassi tipo vi o emacs,
- La possibilità di fare copia/incolla tra i terminali creati (pannelli)
- Totale personalizzazione tramite il file ~ /.tmux.conf
tmux è eseguito come sistema client-server. Un server viene creato automaticamente quando necessario e mantiene svariate sessioni, ciascuna delle quali può avere diverse finestre ad essa collegate. Ad una sessione si può connettere un numero qualsiasi di client, oppure il server può essere controllato tramite comandi con tmux. Le comunicazioni avvengono attraverso un socket che, in modo predefinito, viene posto in /tmp.
Installazione
tmux è di solito disponibile in tutti i repository ufficiali delle distribuzione Linux, quindi io l’ho installato sul mio ubuntu 11.04 con
aptitude install tmux |
Questo per me ha installato la versione 1.3-2+squeeze1
Utilizzo base
In un terminale basta scrivere tmux
per farlo partire.
Ora è possibile utilizzare una combinazione di tasti per ottenere alcuni risultati, i più comuni/utili che ho visto finora sono:
CTRL + b
Questa combinazione è il default per dire tmux che si sta per dare un comando.
CTRL + b "
Dividere il riquadro corrente in due, superiore e inferiore.
CTRL + b %
Dividere il riquadro corrente in due, destra e sinistra.
CTRL + b arrow
utilizzando le frecce è possibile andare nel riquadro sopra, sotto, a sinistra, o a destra del riquadro corrente
CTRL + b x
Chiude il riquadro corrente
CTRL + b c
Crea una nuova finestra
CTRL + b l
Si sposta sulla finestra precedentemente selezionata
CTRL + b n
Si sposta nella finestra successiva
Infine, vorrei nominare la funzione di copia & incolla che penso sia davvero un utile.Per accedere alla modalità Copia tutto quello che dovete fare è Ctrl + b [
e spostarvi fino a ciò che deve essere copiato. Quindi premete Ctrl + Space
e selezionate il testo. Una volta selezionato, copiatelo con Alt + w
. Per incollare il testo tutto quello che dovete fare è Ctrl + b ]
.
Una volta che si staccate da tmux sarete di nuovo sul terminale. Da qui è possibile usare questi comandi:
1) Elenco di tutte le sessioni gestite dal server con il parametro ls
#tmux ls
0: 2 windows (created Thu Sep 15 12:46:14 2011) [203x50]
#tmux attach -t 0
Questo farà tornare il terminale alla sessione distaccate.
3) Distruggere una sessione, chiudendo tutte le finestre ad esso collegate e non altre sessioni, e staccando tutti i client collegati ad esso con il parametro kill-session -t #
della sessione
#tmux ls 0: 2 windows (created Thu Sep 15 12:46:14 2011) [203x50] #tmux kill-session -t 0 |
Chiude la sessione e tutte le finestre della nostra sessione precedentemente staccata.
Conclusioni
Queste sono solo le principali opzioni di tmux, controllate la pagina man per altri parametri, questo può essere un grande programma per essere utilizzato su server senza terminali grafici, personalmente sui desktop io preferiscono usare i programmi di terminale intelligenti come terminator, fanno forse meno cose, ma non c’è bisogno di ricordarsi tutte le combinazioni di tasti, e per un PC che il si accende e si spegne tutti i giorni è sufficiente.
Per quanto riguarda questo in tmux è possibile personalizzare tutte le combinazioni di tasti in modo che possano essere più user friendly.
Popular Posts:
- None Found
I have used Screen a lot, but once I learned about Tmux, I never went back.
And it perfectly fits my 256 color terminal setup:
<a href="http://www.netswarm.net/themes/dot_tmux.conf-256color" title="tmux.conf 256 color values"
<a href="http://www.netswarm.net/screenshots/tmux256-pane.png" title="tmux 256 color screenshot"