| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| tmux [Le 10/01/2013, 18:50] – retouche mydjey | tmux [Le 11/11/2024, 17:32] (Version actuelle) – ancienne révision (Le 22/02/2024, 21:19) restaurée Amiralgaby |
|---|
| ---- | ---- |
| |
| | {{ tmux.png?190nolink| Logo du logiciel Tmux}} |
| ====== Tmux (terminal multiplexer) ====== | ====== Tmux (terminal multiplexer) ====== |
| |
| À l'instar de [[:Screen]], **Tmux** est un multiplexeur de terminaux, 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 ===== |
| Contrairement à Screen, Tmux n'est pas installé par défaut. | Tmux n'est pas installé par défaut. |
| Pour l'installer à l'aide d'un utilitaire graphique il suffit d'[[:tutoriel:comment_installer_un_paquet|Installer le paquets]] **[[apt>tmux]]**.\\ | Pour l'installer à l'aide d'un utilitaire graphique il suffit d'[[:tutoriel:comment_installer_un_paquet|Installer le paquets]] **[[apt>tmux]]**.\\ |
| Par l'installer avec [[:apt-get]] depuis un [[:terminal]], il suffit de saisir la [[:commande_shell|commande]] suivante : | |
| <code> | |
| sudo apt-get install tmux | |
| </code> | |
| |
| ===== Utilisation de tmux ===== | ===== Utilisation de tmux ===== |
| |
| ===== Les principaux raccourcis ===== | ===== Les principaux raccourcis ===== |
| Tmux fait appel à l'ensemble de touches <Ctrl> + <b> là ou Screen fait appel à <Ctrl> + <a>. | Tmux fait appel à l'ensemble de touches <Ctrl> + <b> là ou Screen fait appel à <Ctrl> + <a>. |
| |
| <note tip>Les raccourcis et fonctions étant proches voire identique à ceux de [[:Screen]], pour mieux les comprendre, reportez-vous à la page [[:Screen]].</note> | <note tip>Les raccourcis et fonctions étant proches voire identiques à ceux de Screen, pour mieux les comprendre, reportez-vous à la page [[:Screen]].</note> |
| |
| ==== Raccourcis de base ==== | ==== Raccourcis de base ==== |
| * <Ctrl> + <b> suivi de <c> : Créer un nouveau terminal dans la session tmux active | * <Ctrl> + <b> suivi de <c> : Créer un nouveau terminal dans la session tmux active |
| | * <Ctrl> + <b> suivi de <&> : Supprime la fenêtre courante |
| * <Ctrl> + <b> suivi de <n> : Switcher entre les différents terminaux de la session | * <Ctrl> + <b> suivi de <n> : Switcher entre les différents terminaux de la session |
| * <Ctrl> + <b> suivi de <X> : Choisir un terminal spécifique (ou X est le numéro du terminal) | * <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 | * <Ctrl> + <b> suivi de <d> : Se détacher de la session tmux (lancer 'tmux a' pour s'y rattacher) |
| * <Ctrl> + <b> suivi de <,> : 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 | * <Ctrl> + <b> suivi de <w> : Affiche la liste des terminaux disponibles |
| * <Ctrl> + <b> suivi de <t> : Afficher l’heure dans un terminal | * <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 |
| |
| ==== Commandes dans un Split ==== | ==== Commandes dans un Split ==== |
| |
| * <Ctrl> + <b> suivi de <«> : 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 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 <o> : Switcher entre les terminaux splittés |
| * <Ctrl> + <b> suivi de <espace> : Changer l’organisation visuelle des 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 <Alt> + (flèches directionnelles) : Reduire, agrandir fenêtre du split |
| * <Ctrl> + <b> suivi de <!> : Convertir un split en terminal seul | * <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> suivi de <q> : Afficher les numéros des terminaux splittés |
| * <Ctrl> + <b> puis saisissez //:join// : permet de joindre un terminal seul sans FIXME **sans ou dans ?** un split | * <Ctrl> + <b> puis saisissez //:join// : permet de joindre un terminal seul dans un split |
| |
| Par exemple, après avoir tapé le combo <Ctrl>+<b> si vous saisissez | Par exemple, après avoir tapé le combo <Ctrl>+<b> si vous saisissez |
| |
| ===== Utilisation à distance ===== | ===== Utilisation à distance ===== |
| Il peut être intéressant de se rattacher rapidement à un Tmux sur une machine distant à travers [[:ssh]]. | Il peut être intéressant de se rattacher rapidement à un Tmux sur une machine distante à travers [[:ssh]]. |
| |
| ==== Préparation ==== | ==== Préparation ==== |
| Pour cela, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **~/.bash_aliases** ((fichier caché dans votre //Dossier Personnel//)) pour y ajouter la ligne suivante : | 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> | <file> |
| function ssh_tmux() { ssh -t "$1" tmux a || ssh -t "$1" tmux; } | function ssh_tmux() { ssh -t "$1" "tmux a || tmux"; } |
| </file> | </file> |
| |
| </code> | </code> |
| Où : | Où : |
| * //user// est votre login | * //user// est votre login |
| * //servername// l'adresse de la machine à contacter. | * //servername// l'adresse de la machine à contacter. |
| Si vous perdez la connexion réseau, relancer la commande et retrouvez votre terminal Tmux. | Si vous perdez la connexion réseau, relancer la commande et retrouvez votre terminal Tmux. |
| Pour plus d'informations sur ce type de connexion à distance, reportez-vous à la page [[:ssh]]. | Pour plus d'informations sur ce type de connexion à distance, reportez-vous à la page [[:ssh]]. |
| |
| ==== Voir aussi ==== | ===== Configuration ===== |
| | |
| | Le fichier ~/.tmux.conf permet de rajouter quelques fonctionnalités utiles : |
| | |
| | <code> |
| | # 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> |
| |
| | ===== Voir aussi ===== |
| | * [[https://github.com/tmux/tmux|Le site officiel de Tmux]] |
| | * [[http://tmuxp.readthedocs.org/en/latest/|Se créer des modèles Tmux pour un gain en production]] |
| * [[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. | * [[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. |
| | * [[http://www.chtiland.fr/page.php?id=informatique:linux:start|Mémo tmux en français]] + commandes Linux |
| | * [[https://tmuxcheatsheet.com/|Le site TmuxCheatSheet]] |
| | * [[https://github.com/gpakosz/.tmux|Oh My Tmux!]] |
| |
| ---- | ---- |
| //Contributeurs:FIXME// | |