Prolonging terminal sessions/fr: Difference between revisions
(Created page with "Le logiciel [https://en.wikipedia.org/wiki/Tmux tmux] est un multiplexeur de terminal qui permet plusieurs sessions virtuelles à l'intérieur d'une même session de terminal. Vous pouvez donc vous déconnecter d'une session SSH sans que les processus ne soient affectés.") |
(Created page with "===Utiliser tmux dans une tâche soumise par tmux===") |
||
Line 50: | Line 50: | ||
|} | |} | ||
===Utiliser tmux dans une tâche soumise par tmux=== | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> |
Revision as of 15:17, 4 July 2023
Pour soumettre et faire le suivi des tâches, modifier des fichiers et plusieurs autres opérations, vous aurez peut-être besoin de vous connecter à une grappe via SSH. Il est quelquefois nécessaire de garder la connexion active pendant plusieurs heures, même plusieurs jours et nous décrivons ici certaines techniques pour ce faire.
Configuration de SSH
Une solution simple pour prolonger une connexion est de modifier la configuration de votre client SSH. Avec MacOS et Linux, cette configuration se trouve dans $HOME/.ssh/config
alors qu'avec Windows elle est dans C:\Users\<username>\.ssh\config
. Si le fichier n'existe pas, vous devez le créer at ajouter les lignes
Host *
ServerAliveInterval 240
Par la connexion SSH, ceci transmet un signe de vie à un serveur distant (comme une grappe de l'Alliance) à toutes les 240 secondes (4 minutes), ce qui devrait garder la connexion active même si elle est inactive pendant quelques heures.
Multiplexeur de terminal
Les programmes tmux
et screen
sont des exemples de multiplexeurs de terminal qui vous permettent de complètement détacher une session de terminal qui restera active jusqu'à ce qu'elle soit rattachée de nouveau. Vous pouvez donc vous déconnecter de la grappe, fermer le poste de travail ou le mettre en veille prolongée, puis reprendre le travail le lendemain en vous rattachant à la même session.
Login node dependency
|
tmux
Le logiciel tmux est un multiplexeur de terminal qui permet plusieurs sessions virtuelles à l'intérieur d'une même session de terminal. Vous pouvez donc vous déconnecter d'une session SSH sans que les processus ne soient affectés.
Pour une introduction à tmux :
- The Tao of tmux
- Getting Started With TMUX, vidéo de 24 minutes
- Turbo boost your interactive experience on the cluster with tmux, vidéo de 58 minutes
Aide-mémoire
Voyez la documentation complète.
Commande | Description |
---|---|
tmux |
Démarrer le serveur |
Ctrl+B D |
Se déconnecter du serveur |
tmux a |
Se reconnecter au serveur |
Ctrl+B C |
Créer une nouvelle fenêtre |
Ctrl+B N |
Aller à la prochaine fenêtre |
Ctrl+B [ |
Activer le mode copie pour défilement avec la souris et les touches page suivante et page précédente |
Esc |
Désactiver le mode copie |
Utiliser tmux dans une tâche soumise par tmux
lost server
error message. This happens because the $TMUX
environment variable pointing to the tmux server is propagated to the job. The value of the variable is not valid and you can reset it with: [name@server ~]$ unset TMUX
However, nested use of tmux is not recommended. To send commands to a nested tmux, one has to hit Ctrl+B
twice; for example, to create a new window, one has to use Ctrl+B Ctrl+B C
. Consider using screen inside your job (if you are using tmux on a login node).
GNU Screen
The GNU Screen program is another widely used terminal multiplexer. To create a detached terminal session, you can use the following command
[name@server ~]$ screen -S <session name>
It's a good idea to give a descriptive name to your terminal sessions, making it easier to identify them later. You can use the command screen -list
to see a list of your detached terminal sessions on this node,
[name@server ~]$ screen -list
There is a screen on:
164133.foo (Attached)
1 Socket in /tmp/S-stubbsda.
You can attach to one of your sessions using the command screen -d -r <session name>
.