GNU/Linux >> Tutoriels Linux >  >> Linux

Conseils d'utilisation de tmux

Avant Red Hat Enterprise Linux 8, l'screen la commande a été incluse. Dans la version 8, la décision a été prise de déprécier screen et utilisez tmux Au lieu. tmux est un multiplexeur de terminal, ce qui signifie que vous pouvez exécuter un processus, vous déconnecter du système, puis vous reconnecter ultérieurement et à partir d'un autre ordinateur afin de pouvoir continuer à travailler dans ce processus. Un moyen simple de le démontrer est de se connecter en SSH à un système distant, démarrez tmux , puis à l'intérieur de celui-ci, lancez un ping commande à un système distant, déconnectez-vous de tmux , reprendre tmux , et vous verrez que le ping va encore. Voici quelques-uns des cas d'utilisation courants :

  • Si vous avez un processus de longue durée, comme la mise à niveau d'une application, et que vous ne voulez pas laisser la session ssh s'exécuter tout le temps ou que vous craignez que votre connexion réseau ne soit interrompue.
  • De plus, si vous avez plusieurs sessions en cours d'exécution, vous pouvez utiliser des libellés pour les différentes sessions.
  • Si vous voulez que quelqu'un d'autre voie ce que vous faites, vous pouvez démarrer un tmux session, puis demandez à cette autre personne de se connecter en SSH à votre système et de l'attacher à ce tmux séance.

Pour démarrer une session de base, il suffit d'exécuter le tmux commande. Cela vous amène dans un tmux session et vous pourrez exécuter des commandes et faire des choses comme vous le feriez normalement en tant qu'utilisateur. Pour vous déconnecter de votre session, mais la laisser en cours d'exécution, appuyez sur Ctrl+B puis D . Pour reprendre la session, je peux lancer :

$ tmux ls    ### to see if there are any other tmux sessions
$ tmux a    ### this will connect to the most recent session that was created.

S'il y a plusieurs sessions, vous pouvez vous connecter par le numéro de la session :

[root@opendemo ~]# tmux ls
0: 1 windows (created Thu Jan 28 19:58:27 2021) [103x22]
1: 1 windows (created Thu Jan 28 20:00:54 2021) [103x22]
2: 1 windows (created Thu Jan 28 20:01:08 2021) [103x22]
3: 1 windows (created Thu Jan 28 20:01:39 2021) [103x22]

[root@opendemo ~]# tmux a -t 1
[detached]

[root@opendemo ~]#

Un exemple de la façon dont j'utilise ceci est que la toute dernière commande de mon script de démarrage personnel qui se connecte au VPN et fait d'autres choses est de s'exécuter :

# /usr/bin/ssh -t shell-el7.redhat.com tmux attach

Cela me connecte par SSH à ce serveur distant, puis s'attache à mon tmux session que je connais est là avec irssi course. Pour plus d'informations sur l'utilisation de irssi , veuillez consulter mon article Utiliser Irssi dans une session Linux tmux.

[ Vous pourriez également apprécier : Construire avec Buildah :Dockerfiles, ligne de commande ou scripts ]

Le deuxième exemple de cas d'utilisation ci-dessus concernait l'étiquetage des différentes sessions. Maintenant que nous avons passé en revue certaines des bases de l'utilisation de tmux , voyons un exemple d'utilisation de libellés :

[root@opendemo ~]# tmux new -s "database upgrade"
[detached]

[root@opendemo ~]# tmux new -s "other process"
[detached]

[root@opendemo ~]# tmux ls
database upgrade: 1 windows (created Thu Jan 28 19:50:03 2021) [103x22]
other process: 1 windows (created Thu Jan 28 19:50:23 2021) [103x22]

[root@opendemo ~]# tmux attach -t "database upgrade"
[detached]

[root@opendemo ~]#

Vous remarquerez peut-être que si vous avez du texte qui défile au-delà du haut de votre écran, vous ne pouvez pas simplement appuyer sur Page vers le haut clé pour le voir.

Pour pouvoir utiliser vos touches de curseur dans tmux pour pouvoir revenir dans le tampon, appuyez sur Ctrl+B puis le [ clé. À ce stade, vous pourrez utiliser la flèche touches, Page vers le haut , ou Page suivante pour se déplacer dans la sortie à l'écran.

Si vous souhaitez diviser le tmux session en plusieurs volets, vous pouvez diviser votre session verticalement par Ctrl+B puis % . Pour diviser le volet horizontalement, vous utiliseriez Ctrl+B puis un simple guillemet double " . Dans la capture d'écran ci-dessous, j'ai d'abord divisé la session verticalement, puis j'ai divisé le volet de droite horizontalement.

Pour déplacer le curseur d'un volet à l'autre, vous utiliseriez Ctrl+B puis selon la flèche touche pour se déplacer dans cette direction.

Pour terminer une session sans s'y attacher, puis tapez exit , vous utiliseriez kill-session puis spécifiez la session à tuer :

Il y a plus d'options pour tmux , et ils peuvent être consultés en utilisant Ctrl+B et puis  ? :

[ Apprenez les bases de l'utilisation de Kubernetes dans cet aide-mémoire gratuit. ] 

Pour en savoir plus, consultez la page de manuel de tmux . Cet article a donné une introduction rapide à l'utilisation du tmux afin qu'une session distante déconnectée ne finisse pas par tuer accidentellement un processus. Un autre programme similaire à tmux est screen et vous pouvez lire sur screen dans cet article.


Linux
  1. 3 conseils pour imprimer avec Linux

  2. Comment commencer à utiliser Tmux comme un pro en 5 minutes

  3. Utilisation de l'outil SS pour le dépannage du réseau

  4. Script bash :utilisation de la commande de script d'un script bash pour la journalisation d'une session

  5. Lancer tmux à l'aide de gnome-terminal

Trucs et astuces pour utiliser CUPS pour imprimer avec Linux

Conseils pour utiliser la commande top sous Linux

Premiers pas avec Tmux

Conseils d'utilisation de l'écran

API de socket Tmux ?

Conseils essentiels pour installer et utiliser Sublime Text sur Ubuntu