Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
tmux [Le 10/01/2013, 10:13] sguary créée |
tmux [Le 22/02/2024, 21:19] (Version actuelle) Amiralgaby ancienne révision (Le 11/09/2022, 12:04) restaurée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>administration système console terminal }} | ||
+ | ---- | ||
+ | |||
+ | {{ tmux.png?190nolink| Logo du logiciel Tmux}} | ||
====== Tmux (terminal multiplexer) ====== | ====== Tmux (terminal multiplexer) ====== | ||
- | Tmux est un outil permettant d'exploiter plusieurs terminaux au sein d'un seul et même affichage | + | **[[wpfr>Tmux]]**, à l'instar de [[:Screen]], est un multiplexeur de terminaux, outil permettant d'exploiter plusieurs terminaux au sein d'un seul et même affichage. |
===== Installation ===== | ===== Installation ===== | ||
- | <code> | + | Tmux n'est pas installé par défaut. |
- | apt-get install tmux | + | Pour l'installer à l'aide d'un utilitaire graphique il suffit d'[[:tutoriel:comment_installer_un_paquet|Installer le paquets]] **[[apt>tmux]]**.\\ |
- | </code> | + | |
===== Utilisation de tmux ===== | ===== Utilisation de tmux ===== | ||
+ | Depuis le [[:unity#tableau_de_bord_dash|tableau de bord (dash)]], un [[:terminal]] ou encore une [[:console]] saisissez la [[:commande_shell|commande]] suivante : | ||
<code> | <code> | ||
tmux | tmux | ||
Ligne 14: | Ligne 18: | ||
===== Les principaux raccourcis ===== | ===== Les principaux raccourcis ===== | ||
- | Toujours commencé par la commande **Ctrl + B** puis : | + | Tmux fait appel à l'ensemble de touches <Ctrl> + <b> là ou Screen fait appel à <Ctrl> + <a>. |
- | ==== Commandes de bases (tapez Control + b avant) ==== | + | <note tip>Les raccourcis et fonctions étant proches voire identiques à ceux de Screen, pour mieux les comprendre, reportez-vous à la page [[:Screen]].</note> |
- | c : Créer un nouveau terminal dans la session tmux active | + | |
- | n : Switcher entre les différents terminaux de la session | + | ==== Raccourcis de base ==== |
- | + | * <Ctrl> + <b> suivi de <c> : Créer un nouveau terminal dans la session tmux active | |
- | X : Choisir un terminal spécifique (ou X est le numéro du terminal) | + | * <Ctrl> + <b> suivi de <&> : Supprime la fenêtre courante |
- | + | * <Ctrl> + <b> suivi de <n> : Switcher entre les différents terminaux de la session | |
- | d : Se détacher de la session tmux | + | * <Ctrl> + <b> suivi de <X> : Choisir un terminal spécifique (ou X est le numéro du terminal) |
- | + | * <Ctrl> + <b> suivi de <d> : Se détacher de la session tmux (lancer 'tmux a' pour s'y rattacher) | |
- | , : Permet de renommer un terminal | + | * <Ctrl> + <b> suivi de <,> : Permet de renommer un terminal |
- | + | * <Ctrl> + <b> suivi de <w> : Affiche la liste des terminaux disponibles | |
- | w : Affiche la liste des terminaux disponibles | + | * <Ctrl> + <b> suivi de <t> : Afficher l’heure dans un terminal |
- | + | * <Ctrl> + <b> suivi de <[> : Permet de scroller ligne/ligne (avec les fleches du clavier ou la souris) ou même page/page avec PgnUP et PgnDOWN, tapez "q" pour quitter ce mode | |
- | t : Afficher l’heure dans un terminal | + | |
==== Commandes dans un Split ==== | ==== Commandes dans un Split ==== | ||
- | « : Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel | + | * <Ctrl> + <b> suivi de <"> : Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel |
+ | * <Ctrl> + <b> suivi de <%> : Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel | ||
+ | * <Ctrl> + <b> suivi de <o> : Switcher entre les terminaux splittés | ||
+ | * <Ctrl> + <b> suivi de <espace> : Changer l’organisation visuelle des terminaux splittés | ||
+ | * <Ctrl> + <b> suivi de (flèches directionnelles) : se déplacer de terminal en terminal | ||
+ | * <Ctrl> + <b> suivi de <Alt> + (flèches directionnelles) : Reduire, agrandir fenêtre du split | ||
+ | * <Ctrl> + <b> suivi de <!> : Convertir un split en terminal seul | ||
+ | * <Ctrl> + <b> suivi de <q> : Afficher les numéros des terminaux splittés | ||
+ | * <Ctrl> + <b> puis saisissez //:join// : permet de joindre un terminal seul dans un split | ||
- | % : Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel | + | Par exemple, après avoir tapé le combo <Ctrl>+<b> si vous saisissez |
+ | <code>:join -v -s 3.0 -p 50</code> | ||
+ | Où : | ||
+ | * //-h// ou //-v// : pour horizontalement ou verticalement | ||
+ | * //-s 3.0// : terminal 3 et volet 0 (volet si écran splitté) | ||
+ | * //-p 50// : occupation à 50% de la fenêtre | ||
+ | Ici donc vous ajouterez verticalement, un terminal numéroté 3 et qui prendra 50% de l’espace total. | ||
- | o : Switcher entre les terminaux splittés | ||
- | espace : Changer l’organisation visuelle des terminaux splittés | + | ===== Utilisation à distance ===== |
+ | Il peut être intéressant de se rattacher rapidement à un Tmux sur une machine distante à travers [[:ssh]]. | ||
- | Alt + (flèches directionnelles) : Reduire, agrandir fenêtre du split | + | ==== Préparation ==== |
+ | Pour cela, [[:tutoriel:comment_modifier_un_fichier|ouvrez ou créez le fichier]] **~/.bash_aliases** ((fichier caché dans votre //Dossier Personnel//)) pour y ajouter la ligne suivante : | ||
+ | <file> | ||
+ | function ssh_tmux() { ssh -t "$1" "tmux a || tmux"; } | ||
+ | </file> | ||
- | ! : Convertir un split en terminal seul | + | ==== Utilisation ==== |
+ | <code> | ||
+ | ssh_tmux user@servername | ||
+ | </code> | ||
+ | Où : | ||
+ | * //user// est votre login | ||
+ | * //servername// l'adresse de la machine à contacter. | ||
+ | Si vous perdez la connexion réseau, relancer la commande et retrouvez votre terminal Tmux. | ||
- | q : Afficher les numéros des terminaux splittés | + | Pour plus d'informations sur ce type de connexion à distance, reportez-vous à la page [[:ssh]]. |
- | :join : permet de joindre un terminal seul sans un split | + | ===== Configuration ===== |
- | Exemple pour rajouter le terminal numéro 3 verticalement et pour qu’il prenne 50% de l’espace total: | + | Le fichier ~/.tmux.conf permet de rajouter quelques fonctionnalités utiles : |
- | :joinp -v -s 3.0 -p 50 | ||
- | |||
- | -h ou -v : horizontalement ou verticalement | ||
- | |||
- | -s 0.0 : terminal 0 et volet 0 (volet si écran splitté) | ||
- | |||
- | -p 50 : occupation à 50% de la fenêtre | ||
- | |||
- | |||
- | ===== Utilisation à distance ===== | ||
- | Il peut être intéressant de se rattacher très rapidement à un tmux sur une machine distance. | ||
- | |||
- | Pour cela, un ligne dans votre **~/.bash_aliases** | ||
<code> | <code> | ||
- | function ssh_tmux() { ssh -t "$1" tmux a || ssh -t "$1" tmux; } | + | # Permet de définir le shell utilisé par défaut |
+ | set-option -g default-shell /usr/bin/zsh | ||
+ | # Permet d'utiliser la souris dans un terminal virtuel (avant la version 2.1) | ||
+ | setw -g mode-mouse on | ||
+ | set -g mouse-resize-pane on | ||
+ | set -g mouse-select-pane on | ||
+ | set -g mouse-select-window on | ||
+ | # Permet d'utiliser la souris dans un terminal virtuel (à partir de la version 2.1) | ||
+ | set -g mouse on | ||
</code> | </code> | ||
- | Utilisation | + | ===== Voir aussi ===== |
- | <code> | + | * [[https://github.com/tmux/tmux|Le site officiel de Tmux]] |
- | ssh_tmux user@servername | + | * [[http://tmuxp.readthedocs.org/en/latest/|Se créer des modèles Tmux pour un gain en production]] |
- | </code> | + | * [[http://denisrosenkranz.com/tuto-introduction-a-tmux-terminal-multiplexer/|Cette page]] et [[http://denisrosenkranz.com/tuto-personnalisation-de-tmux-via-son-fichier-de-configuration/|celle-ci]] qui ont été utiles pour créer cette page. |
- | Si vous perdez la connexion réseau, relancer la commande et retrouvez votre terminal Tmux | + | * [[http://www.chtiland.fr/page.php?id=informatique:linux:start|Mémo tmux en français]] + commandes Linux |
- | + | * [[https://tmuxcheatsheet.com/|Le site TmuxCheatSheet]] | |
- | ==== Voir aussi ==== | + | * [[https://github.com/gpakosz/.tmux|Oh My Tmux!]] |
- | + | ---- | |
- | Blog qui a été utile pour créer cette page. | + | |
- | http://denisrosenkranz.com/tuto-introduction-a-tmux-terminal-multiplexer/ | + | |
- | + | ||
- | http://denisrosenkranz.com/tuto-personnalisation-de-tmux-via-son-fichier-de-configuration/ | + |