GNU/Linux >> Tutoriels Linux >  >> Linux

Premiers pas avec Tmux [Guide du débutant]

Avec tmux, vous pouvez créer plusieurs sessions de terminal qui peuvent être ouvertes (attachées) et fermées (détachées) ou affichées simultanément à partir d'une seule fenêtre.

Apprendre à utiliser un multiplexeur de terminal vous évitera bien des maux de tête si vous passez beaucoup de temps dans le terminal. Cela est particulièrement vrai si votre travail implique d'accéder à des machines distantes uniquement via la ligne de commande.

Écran contre tmux

Tmux est considéré comme la prochaine étape évolutive du multiplexeur GNU Screen.

Si vous êtes habitué à la commande d'écran, vous trouverez qu'il est facile de commencer tout de suite. Il existe de nombreuses similitudes entre les deux applications. Nous avons eu une excellente réponse à notre article sur les commandes d'écran, et je pense que nos lecteurs apprécieront vraiment l'utilisation de certaines des fonctionnalités mises à jour de tmux.

Si vous êtes déjà à l'aise avec la commande screen, vous pouvez parcourir rapidement cet article pour les différences. Pour certaines commandes, je peux souligner des similitudes ou des différences. En dehors de ces notes, cet article ne supposera aucune connaissance préalable.

Si vous êtes un peu perdu et que vous ne savez pas encore de quoi parle cet article, c'est très bien. Nous allons tout parcourir ensemble. Je vais vous montrer comment installer tmux et comment effectuer des opérations de base.

Installer tmux

Tmux est une application populaire et elle devrait être disponible dans le référentiel officiel de votre distribution Linux. Vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution.

Sur les distributions basées sur Debian et Ubuntu, vous pouvez l'installer à l'aide de la commande suivante :

sudo apt install tmux

Démarrer avec tmux

Comme nous l'avons évoqué, tmux est une excellente application pour vous rendre plus productif. C'est un logiciel puissant, mais il peut être un peu déroutant de commencer avec.

Je vais vous guider à travers les fonctionnalités critiques une à la fois. Mon objectif est de vous faciliter la tâche et de vous montrer les fonctionnalités de base. Il existe tellement de façons de personnaliser tmux que nous ne pourrons pas tout couvrir dans cet article. Si vous êtes curieux de connaître un article sur les fonctionnalités avancées, faites-le nous savoir dans la section des commentaires !

Créer une session dans tmux

Ouvrez un terminal et utilisez la commande suivante :

[email protected]:~$ tmux

Cela devrait vous amener dans tmux. Vous verrez une invite de commande comme d'habitude, mais vous verrez maintenant un menu de style barre des tâches en bas du terminal qui dira quelque chose comme bash 0 *. L'astérisque indique qu'il s'agit de votre fenêtre active .

Créons quelques fenêtres entre lesquelles vous pouvez basculer. Vous pouvez le faire en utilisant le préfixe [ctrl + b] + c .

Vous devriez voir dans la barre des tâches quelque chose nommé 1:bash a été ajouté. Ajoutons-en deux autres avant de continuer.

Cela devrait maintenant ressembler à la capture d'écran ci-dessous. Vous devriez avoir un total de quatre nouvelles fenêtres de terminal (vous ne verrez qu'une seule fenêtre à la fois).

Le nom de la fenêtre automatique

Tmux peut en fait identifier certains programmes et renommer automatiquement vos fenêtres (si vous n'avez pas nommé votre fenêtre explicitement). Par exemple, si vous exécutez la commande top dans une fenêtre, vous remarquerez que le nom de la fenêtre est changé de bash à top.

Session vs Window vs Pane (split) dans tmux

Avant d'aller plus loin, vous devez connaître la différence entre session, fenêtre et volet dans tmux.

Considérez les sessions comme des blocs-notes, les fenêtres comme des chapitres et les volets comme ses pages.

Une session peut avoir plusieurs fenêtres. Une fenêtre est essentiellement un terminal. Vous pouvez diviser une fenêtre en plusieurs volets verticaux et horizontaux. Cela signifie qu'une fenêtre de terminal peut contenir plusieurs terminaux.

Vous pouvez créer une session tmux pour un sujet/projet spécifique. Par exemple, si vous gérez trois serveurs, vous pouvez peut-être créer une session pour chaque serveur afin d'effectuer des tâches. Utilisez une fenêtre pour surveiller les ressources système et une autre pour effectuer certaines tâches de maintenance. La fenêtre de surveillance du système peut avoir plusieurs volets pour surveiller l'utilisation de la mémoire, du processeur et du disque.

Basculer entre les fenêtres dans une session tmux

N'oubliez pas que ctrl + b (simultanément) est comme votre clé "tmux". Il indique au logiciel que vous souhaitez entrer une commande. Consultez le tableau ci-dessous pour commencer à naviguer dans l'interface tmux.

Précédent Suivant n (0, 1, 2, 3 etc.)
[ctrl + b] + p [ctrl + b] + n Passer à n Fenêtre :[ctrl + b] + 0

Vous pouvez maintenant vous déplacer "d'avant en arrière" ou sélectionner une instance spécifique par son numéro d'identification. Essayez ces choses jusqu'à ce que vous vous sentiez à l'aise.

Prêt? Génial. Voyons quelques-unes des autres fonctionnalités.

REMARQUE :Si vous êtes un utilisateur expérimenté de Screen, vous avez peut-être l'habitude d'utiliser le préfixe [ctrl + a]. La modification du fichier de configuration vous permettra de changer le préfixe si vous le souhaitez. En fait, j'ai trouvé que la combinaison de touches alternatives améliorait mon efficacité, mais je comprends également qu'il est difficile de briser les vieilles habitudes.

Basculer en utilisant la liste des fenêtres

Une autre option utilise [ctrl+b] + w. Cela vous donne un aperçu visuel des sessions. Vous pouvez utiliser les touches fléchées pour sélectionner les fenêtres/volets souhaités.

Nommer ou renommer les fenêtres dans tmux

Vous pouvez nommer votre fenêtre actuelle avec la combinaison de touches suivante :

[ctrl+b] + ,

Nommez votre session tmux

Vous trouverez peut-être utile de nommer vos sessions avec des titres significatifs pour garder les choses organisées. Essayons de nommer votre première session avec tmux.

Vous pouvez lui donner le nom que nous voulons, mais dans ce cas, je le nommerai gratuit. Saisissez la commande suivante :

tmux new -s free

Vous devriez maintenant avoir une nouvelle session de tmux en cours d'exécution. Si vous regardez dans la partie inférieure gauche de la fenêtre, vous verrez le nom de votre session plutôt que le "bash" générique.

Si vous avez déjà créé une session, vous pouvez la nommer ou la renommer à l'aide de la combinaison de touches suivante :

[ctrl+b] + $

Détacher une session (sortir de la session tmux mais la laisser fonctionner en arrière-plan )

Avant de continuer, commençons à courir librement avec la commande watch qui mettra à jour les résultats toutes les 2 secondes.

watch free

Si vous n'êtes pas familier avec free ou watch, je vous recommande de consulter la commande watch et free. Cependant, la connaissance de leurs fonctionnalités n'est pas essentielle pour les utiliser avec tmux.

D'accord, donc une fois que le programme commence, allez-y et détachez la session. Utilisez cette combinaison de touches :

[ctrl + b] + d

Cela devrait vous renvoyer à une invite de commande standard. Gardez à l'esprit que la session tmux s'exécute toujours en arrière-plan et que vous pouvez y accéder à nouveau quand vous le souhaitez.

Liste des sessions tmux

Qu'est-il arrivé à votre séance ? Il fonctionne toujours en arrière-plan. Vous pouvez rouvrir la session par nom ou par numéro d'identification, mais que se passe-t-il si vous oubliez le nom de la session ?

Il existe une fonction de liste intégrée à tmux :

tmux ls

Cela listera toutes vos sessions tmux actuelles. L'exécuter produira une sortie comme celle-ci :

[email protected]:~$ tmux ls
free: 1 windows (created Sat Feb 29 03:16:31 2020) [80x23]

Comme vous pouvez le voir, il répertorie également le nombre de fenêtres d'une session.

Rentrer une session dans Tmux (également connu sous le nom d'attachement)

Pour rouvrir votre session tmux, vous pouvez utiliser la commande tmux avec l'option attach ou attach-session comme ceci :

tmux attach -t session_name_or_number

Voici une animation qui montre toutes ces étapes jusqu'à ce point de la démonstration.

Créer plusieurs volets dans tmux

Maintenant que vous maîtrisez les bases, vous pouvez aller plus loin et créer plusieurs volets.

Horizontal (Gauche/Droite) Vertical (Haut/Bas)
[ctrl + b] + % [ctrl + b] + "

Entraînons-nous avec ces commandes en créant un fractionnement vertical suivi d'un fractionnement horizontal.

[ctrl + b] + " 
[ctrl + b] +  %

Si vous avez entré les commandes dans cet ordre, vous devriez avoir trois volets qui ressemblent à ceci :

Vous pouvez utiliser [ctrl+b] + espace pour basculer la disposition du volet actuellement ciblé.

Basculer entre les volets

Pour basculer entre les divisions, vous pouvez utiliser le préfixe tmux [ctrl+b] + les touches fléchées.

[ctrl+b] + arrow keys

Ce cycle les volets dans la direction que vous choisissez. Le volet sélectionné sera surligné en vert.

Zoomer dans un volet

Vous pouvez également "zoomer" dans un volet sélectionné avec [ctrl+b] + z. Cela amènera l'écran sélectionné en taille réelle. Pour quitter le mode zoom, appuyez à nouveau sur [ctrl+b] + z.

Arrêt ou fermeture des volets

C'est quelque chose d'important. Vous pouvez fermer un volet (splits) en utilisant le préfixe [ctrl + b] + x.

Il vous demandera la confirmation :

kill-pane 0? (y/n)

Tuer ou fermer des fenêtres dans tmux

Pour fermer la fenêtre (onglets) en cours, utilisez :

[ctrl + b] + &

Il vous demandera votre confirmation :

kill-window window_name? (y/n)

Tuer des sessions dans tmux

Pour tuer la session tmux actuelle que vous utilisez, vous devrez d'abord tuer toutes les fenêtres. Ce n'est pas très pratique, n'est-ce pas ?

Vous pouvez arrêter sélectivement une session tmux en utilisant son nom ou son numéro comme ceci :

tmux kill-session -t session_name_or_number

Cela tuera la session même si vous êtes à l'intérieur de la session.

Si vous voulez tuer toutes les sessions sauf celle que vous utilisez actuellement (ou la dernière que vous avez utilisée), utilisez cette commande :

tmux kill-session -a

Pour tuer toutes les sessions tmux en une seule fois, vous pouvez utiliser cette commande magique :

tmux kill-server

Télécharger la feuille de triche tmux

Vous avez appris les bases de tmux mais se souvenir de toutes les commandes n'est pas facile, surtout au début. C'est pourquoi je résume toutes les commandes dans le tableau ci-dessous. Vous pouvez également le télécharger au format PDF.

Commande Explication
tmux Démarrer une nouvelle session
tmux nouveau -s nom Démarrer une nouvelle session avec le nom
tmux ls Liste de toutes les sessions
tmux kill-session -t nom Tuer la session mentionnée
tmux kill-session -a Tuer toutes les sessions sauf la dernière session utilisée
tmux kill-server Tuer toutes les sessions tmux
tmux attach -t nom Joindre/entrer la session mentionnée
[Ctrl +b] + d Détacher/quitter la session en cours
[Ctrl +b] + $ Nommer ou renommer la session en cours
[Ctrl +b] + c Créer une nouvelle fenêtre
[Ctrl +b] + , Nommer ou renommer la fenêtre courante
[Ctrl +b] + w Liste de toutes les fenêtres
[Ctrl +b] + & Fermer la fenêtre actuelle
[Ctrl +b] + n/p/N Passer à la fenêtre suivante/précédente/nième
[Ctrl +b] + % Créer un volet horizontal
[Ctrl +b] + " Créer un volet vertical
[Ctrl +b] + touche espace Basculer la disposition du volet actuel
[Ctrl +b] + z Zoomer sur le volet actuel
[Ctrl +b] + x Fermer le volet actuel
Tmux cheatsheetRaccourcis clavier pour l'utilisation de tmuxtmux-cheatsheet.png475 KB

Conclusion

Merci d'avoir suivi notre introduction à tmux. Comme vous pouvez le voir, il existe une grande variété d'applications. J'espère que cet aperçu de base vous a donné quelques idées sur la façon dont vous pouvez utiliser tmux pour améliorer votre flux de travail.

Comme toujours, si vous avez des questions, veuillez les laisser ci-dessous dans la section des commentaires.


Linux
  1. Démarrer avec GnuCash

  2. Premiers pas avec Zsh

  3. Démarrer avec ls

  4. Premiers pas avec Samba pour l'interopérabilité

  5. Premiers pas avec PostgreSQL sous Linux

Premiers pas avec le gestionnaire de paquets Nix

Premiers pas avec systemctl

Premiers pas avec l'éditeur de texte Nano [Guide du débutant]

Premiers pas avec Markdown [Guide du débutant]

Premiers pas avec la commande SED [Guide du débutant]

Premiers pas avec la commande AWK [Guide du débutant]