Tmux/it

(terminal multiplexer) è un programma che abilita diversi terminali (o finestre), su ognuno dei quali giri un programma separato, ad essere creatim acceduti e controllati da un singolo schermo o finestra di terminale. può essere staccato (detached) da uno schermo e continuare a girare in background, ed essere ricollegato nuovamente in seguito. Gli utenti familiari con GNU Screen possono trovare in tmux una valida alternativa.

Emerge
Installare :

Configurazione
L'installazione standard di non installerà i file di configurazione globale  o specifici per ciascun utente. Sono disponibili degli esempi nella directory e possono essere copiati nella location globale o utente ed editati a piacere utilizzando un text editor.

Esempi dal package
Per vedere una lista dei file di configurazione, lanciare il seguente comando:

Usare poi per copiare uno dei file alla location globale (che impatterà tutti gli utenti) o nella home dell'utente.

Esempio wiki
Il seguente è un esempio del file :

Plugins
Alcuni plugins sono disponibili per. Vedere la sezione seguente per le opzioni disponibili.

tmux-mem-cpu-load
è un piccolo programma disegnato per monitorare l'attività di sistema nella barra di stato di. Vedere l'articolo Tmux/plugins/tmux-mem-cpu-load per maggiori dettagli riguardo il processo di installazione.

Tmux Resurrect
rende l'ambiente di persistente tra i riavvii di sistema. Vedere l'articolo resurrect per maggiori dettagli riguardo il processo di installazione.

Assegnazione dei tasti (key bindings)
tmux può essere controllato da un client collegato utilizzando delle combinazioni di tasti, composte da una "pressione della combinazione di prefisso" (di default +) seguita da una combinazione di "comando".

Dopo aver premuto + è possibile utilizzare le seguenti combinazioni:

Generale

 * = Lista delle combinazioni/tasti assegnati.
 * = Stacca il client corrente.
 * = Entra nel prompt dei comandi di tmux.

Creare ed amministrare finestre

 * = Crea una nuova finestra
 * = Passa alla finestra seguente.
 * = Passa alla finestra precedente.
 * = Passa all'ultima finestra selezionata.
 * = Sceglie una finestra da 0 a 9.
 * = Presenta un indice di finestre da scegliere. Inserire un numero o un titolo per passare a quella finestra.
 * = Rinomina la finestra corrente.
 * = Sceglie la finestra corrente in modo interattivo.
 * , poi digitare   = Mostra la lista delle finestre.

Creating and managing panes

 * = Split the current pane into two, top and bottom.
 * = Split the current pane into two, left and right.
 * = Select the next pane in the current window.
 * = Move to the previously active pane.
 * {{Key|{}} = Swap the current pane with the previous pane.
 * {{Key| } }} = Swap the current pane with the next pane.
 * + = Rotate the panes in the current window forwards.
 * + to + = Arrange panes in one of the five preset layouts: even-horizontal, even-vertical, main-horizontal, main-vertical, or tiled.
 * = Kill the current pane.
 * = Break the current pane out of the window.

Copy, paste, and scroll operations
The keys available depend on whether emacs (default) or vi mode is selected. The mode-keys option can be set in for vi mode.


 * = Enter copy mode to copy text or view the history.
 * = Paste the most recently copied buffer of text.
 * = List all paste buffers.
 * = Delete the most recently copied buffer of text.

Start session
Once started creates a socket for the session in

can be started with the following command:

Or, to give the session a name on start up, run:

Listing sessions
List sessions to see existing session information:

When listing sessions the name of the session should appear as the first item in the session information line. It is possible to see from the output above the session was created without a name, hence the session is to be referenced as.

Another way to list sessions is by typing out the long  argument.

The exact same output as the previous list command is displayed.

Renaming a session
Simply using to start a session will not provide the session with a nice, human readable name.

If the default session name is not descriptive enough ( does not tend to describe much), then a session can be renamed. Suppose Larry the cow started without specifying a session name on start up. He begins working on compiling a new version of Portage, and wants to change the session name to reflect his current task. To change the session name he would first assume control of by pressing the magic key stroke: +, then  which will drop focus into the  control line. By default the line should turn yellow. Once there he would issue:

Where  is the existing (default) session name and   is the desired new name for the session. To rename when detached from a session issue:

Resuming a session
After the session is detached, all the active terminals remain active and so do commands that did not finish yet. To resume a session use.

Or use the long way of attaching to an existing session:

Daemon-like operation
To start a command in a session without attaching to the session (like a daemon) use   followed by the command to execute in quotes:

External resources

 * An excellent primer.
 * The Tao of tmux, ebook by Tony Narlock, creator of libtmux and tmuxp.