GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes Tmux pour gérer plusieurs sessions de terminal sous Linux

Nous avons déjà appris à utiliser GNU Screen pour gérer plusieurs sessions Terminal. Aujourd'hui, nous verrons encore un autre utilitaire de ligne de commande bien connu nommé "Tmux" , qui est également utilisé pour gérer plusieurs sessions Terminal. Ce guide explique ce qu'est Tmux et l'utilisation des commandes Tmux avec des exemples sous Linux.

1. Qu'est-ce que Tmux ?

Semblable à GNU Screen, Tmux est également un multiplexeur de terminal qui nous permet de créer un certain nombre de sessions de terminal et d'exécuter plusieurs programmes ou processus en même temps dans une seule fenêtre de terminal.

Tmux est un programme gratuit, open source et multiplateforme qui prend en charge Linux, OpenBSD, FreeBSD, NetBSD et Mac OS X.

2. Installer Tmux sous Linux

Tmux est disponible dans les dépôts officiels de la plupart des distributions Linux.

Pour installer Tmux dans Alpine Linux, exécutez :

$ sudo apk add tmux

Sur Arch Linux et ses variantes comme EndeavourOS et Manjaro Linux, exécutez la commande suivante pour l'installer.

$ sudo pacman -S tmux

Sur Debian, Ubuntu, Linux Mint, Pop_OS ! :

$ sudo apt-get install tmux

Sur Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux :

$ sudo dnf install tmux

Ou,

$ sudo yum install tmux

Sur SUSE/openSUSE :

$ sudo zypper install tmux

Eh bien, nous venons d'installer Tmux. Allons-y et voyons quelques exemples d'utilisation de Tmux.

3. Utilisation des commandes Tmux avec des exemples

Le raccourci de préfixe par défaut pour toutes les commandes dans Tmux est Ctrl+b . N'oubliez pas ce raccourci clavier lorsque vous utilisez Tmux.

Attention : Le préfixe par défaut de tous les Écran commandes est Ctrl+a .

3.1. Création de sessions Tmux

Pour créer une nouvelle session Tmux et s'y attacher, exécutez la commande suivante depuis le Terminal :

$ tmux

Ou,

$ tmux new

Une fois dans la session Tmux, vous verrez une barre verte en bas comme indiqué dans la capture d'écran ci-dessous.

C'est très pratique pour vérifier si vous êtes dans une session Tmux ou non.

3.2. Se détacher des sessions Tmux

Pour se détacher d'une session Tmux en cours, appuyez simplement sur Ctrl+b et d . Vous n'avez pas besoin d'appuyer sur ces deux raccourcis clavier à la fois. Appuyez d'abord sur "Ctrl+b" puis appuyez sur "d" .

Une fois que vous êtes détaché d'une session, vous verrez une sortie comme ci-dessous.

[detached (from session 0)]

3.3. Création de sessions nommées

Si vous utilisez plusieurs sessions, vous risquez de ne pas savoir quels programmes s'exécutent sur quelles sessions. Dans de tels cas, vous pouvez simplement créer des sessions nommées.

Par exemple, si vous souhaitez effectuer certaines activités liées au serveur Web dans une session, créez simplement la session Tmux avec un nom personnalisé, par exemple "webserver" (ou n'importe quel nom de votre choix).

$ tmux new -s webserver

Voici la nouvelle session Tmux nommée.

Comme vous pouvez le voir dans la capture d'écran ci-dessus, le nom de la session Tmux est webserver . De cette façon, vous pouvez facilement identifier quel programme s'exécute sur quelle session.

Pour détacher, appuyez simplement sur Ctrl+b et d .

3.4. Lister les sessions Tmux

Pour afficher la liste des sessions Tmux ouvertes, exécutez :

$ tmux ls

Exemple de résultat :

Comme vous pouvez le voir, j'ai deux sessions Tmux ouvertes.

3.5. Créer des sessions détachées

Parfois, vous voudrez peut-être simplement créer une session et ne pas vous y attacher automatiquement.

Pour créer une nouvelle session détachée nommée "ostechnix" , exécutez :

$ tmux new -s ostechnix -d

La commande ci-dessus créera une nouvelle session Tmux appelée "ostechnix", mais ne s'y attachera pas.

Vous pouvez vérifier si la session est créée en utilisant tmux ls commande :

3.6. Attachement aux sessions Tmux

Vous pouvez vous attacher à la dernière session créée en exécutant cette commande :

$ tmux attach

Ou,

$ tmux a

Si vous souhaitez vous attacher à une session nommée spécifique, par exemple "ostechnix", exécutez :

$ tmux attach -t ostechnix

Ou, brièvement :

$ tmux a -t ostechnix

3.7. Tuer les sessions Tmux

Lorsque vous avez terminé et que vous n'avez plus besoin d'une session Tmux, vous pouvez la fermer à tout moment avec la commande :

$ tmux kill-session -t ostechnix

Pour tuer une fois attaché, appuyez sur Ctrl+b et x . Tapez "y" pour tuer la session.

Vous pouvez vérifier si la session est fermée avec tmux ls commande.

Pour tuer le serveur Tmux avec toutes les sessions Tmux, exécutez :

$ tmux kill-server

Fais attention! Cela mettra fin à toutes les sessions Tmux même s'il y a des tâches en cours d'exécution dans les sessions sans aucun avertissement.

Lorsqu'aucune session Tmux n'était en cours d'exécution, vous verrez la sortie suivante :

$ tmux ls
no server running on /tmp/tmux-1000/default

3.8. Séparer les fenêtres de session Tmux

Tmux a la possibilité de diviser une seule fenêtre de session Tmux en plusieurs fenêtres plus petites appelées volets Tmux .

De cette façon, nous pouvons exécuter différents programmes sur chaque volet et interagir avec chacun d'eux simultanément.

Chaque volet peut être redimensionné, déplacé et fermé sans affecter les autres volets. Nous pouvons diviser une fenêtre Tmux horizontalement ou verticalement ou les deux à la fois.

3.8.1. Fractionner les volets horizontalement

Pour diviser un volet horizontalement, appuyez sur Ctrl+b et " (guillemet simple).

Utilisez la même combinaison de touches pour diviser davantage les volets.

3.8.2. Fractionner les volets verticalement

Pour diviser un volet verticalement, appuyez sur Ctrl+b et % .

3.8.3. Diviser les volets horizontalement et verticalement

Nous pouvons également diviser un volet horizontalement et verticalement en même temps. Jetez un oeil à la capture d'écran suivante.

Tout d'abord, j'ai fait une division horizontale en appuyant sur Ctrl+b " puis divisez le volet inférieur verticalement en appuyant sur Ctrl+b % .

Comme vous le voyez dans la capture d'écran ci-dessus, j'exécute trois programmes différents sur chaque volet.

3.8.4. Basculer entre les volets

Pour basculer entre les volets, appuyez sur Ctrl+b et Touches fléchées (Gauche, Droite, Haut, Bas) .

3.8.5. Envoyer des commandes à tous les volets

Dans l'exemple précédent, nous exécutons trois commandes différentes sur chaque volet. Cependant, il est également possible d'exécuter envoyer les mêmes commandes à tous les volets à la fois.

Pour cela, appuyez sur Ctrl+b et tapez la commande suivante et appuyez sur ENTER :

:setw synchronize-panes

Tapez maintenant n'importe quelle commande dans n'importe quel volet. Vous verrez que la même commande est reflétée sur tous les volets.

3.8.6. Permuter les volets

Pour permuter les volets, appuyez sur Ctrl+b et o .

3.8.7. Afficher les numéros de volet

Appuyez sur Ctrl+b et q pour afficher les numéros de volet.

3.8.8. Tuer les volets

Pour fermer un volet, tapez simplement exit et ENTER clé. Vous pouvez également appuyer sur Ctrl+b et x . Vous verrez un message de confirmation. Appuyez simplement sur "y" pour fermer le volet.

4. Zoom avant et zoom arrière des volets Tmux

Nous pouvons agrandir les volets Tmux pour les adapter à la taille réelle de la fenêtre Terminal actuelle pour une meilleure visibilité du texte et pour afficher davantage de son contenu.

Il est utile lorsque vous avez besoin de plus d'espace ou que vous vous concentrez sur une tâche spécifique. Après avoir terminé cette tâche, vous pouvez effectuer un zoom arrière (dézoomer) le volet Tmux à sa position normale. Plus de détails dans le lien suivant.

  • Comment zoomer les volets Tmux pour une meilleure visibilité du texte

5. Démarrage automatique des sessions Tmux

C'est toujours une bonne pratique d'exécuter un long processus à l'intérieur d'une session Tmux lorsque vous travaillez avec des systèmes distants via SSH.

Parce que cela vous empêche de perdre le contrôle du processus en cours lorsque la connexion réseau tombe soudainement.

Une façon d'éviter ce problème consiste à démarrer automatiquement les sessions Tmux. Pour plus de détails, consultez le lien suivant.

  • Démarrage automatique de la session Tmux sur le système distant lors de la connexion via SSH

Conclusion

Dans ce guide, nous avons discuté de l'utilisation des commandes Tmux avec des exemples. À ce stade, vous aurez une idée de base de l'utilitaire de ligne de commande Tmux et de la façon d'utiliser Tmux pour gérer plusieurs sessions Terminal. Pour plus de détails, consultez les pages de manuel.

$ man tmux

Les utilitaires GNU Screen et Tmux peuvent être très utiles lors de la gestion de serveurs à distance via SSH. Apprenez à fond les commandes Screen et Tmux pour gérer vos serveurs distants comme un pro.


Linux
  1. Envoyer des commandes à plusieurs sessions SSH avec Terminator

  2. Comment tmux suscite la joie dans votre terminal Linux

  3. Partage de sessions de terminal Linux avec Tmux et Screen

  4. Utiliser Irssi dans une session Linux tmux

  5. Utiliser la commande Screen pour gérer les sessions de terminal dans Ubuntu 20.04

Exemples de commandes d'écran pour gérer plusieurs sessions de terminal

Comment utiliser Screen Command pour gérer les sessions de terminal dans Ubuntu 20.04

Comment installer et utiliser Tmux (multiplexeur de terminaux) sous Linux

Comment exécuter plusieurs commandes Linux à la fois dans le terminal Linux

10 exemples PuTTY PLINK pour automatiser les commandes Linux distantes à partir de fichiers batch Windows

ClusterSSH(cssh) – Gérer plusieurs sessions SSH sous Linux