Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Screen » : différence entre les versions

De Le Wiki de Lug
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
=== Screen ===
=== Screen ===


<code>screen</code> permet de lancer une session terminal persistante. Elle continue de fonctionner même après une déconnexion SSH.
<code>screen</code> permet de lancer une session terminal persistante qui continue de fonctionner après une déconnexion SSH.


Utile pour les tâches longues :
Utile pour :
* entraînement de modèles IA ;
* entraînements IA longs ;
* compilations ;
* compilations ;
* scripts de plusieurs heures ;
* scripts de plusieurs heures ;
Ligne 11 : Ligne 11 :
==== Installation ====
==== Installation ====


Sous Debian :
* Installation : <code>apt install screen</code>


# apt install screen
==== Sessions ====


==== Créer une nouvelle session ====
* Créer une session nommée : <code>screen -S nom_session</code>
* Exemple : <code>screen -S entrainement_hy_mt2</code>
* Voir les sessions existantes : <code>screen -ls</code>
* Revenir dans une session : <code>screen -r nom_session</code>
* Revenir avec l'identifiant : <code>screen -r 12345</code>
* Détacher la session sans arrêter le programme : <code>CTRL+A</code> puis <code>d</code>
* Fermer la session depuis l'intérieur : <code>exit</code> ou <code>CTRL+D</code>
* Fermer une session depuis l'extérieur : <code>screen -S nom_session -X quit</code>


Créer une session nommée :
==== Fenêtres ====


# screen -S nom_session
Une session <code>screen</code> peut contenir plusieurs fenêtres virtuelles.


Exemple :
* Créer une nouvelle fenêtre : <code>CTRL+A</code> puis <code>c</code>
* Fenêtre suivante : <code>CTRL+A</code> puis <code>n</code>
* Fenêtre précédente : <code>CTRL+A</code> puis <code>p</code>
* Aller directement à une fenêtre : <code>CTRL+A</code> puis <code>0-9</code>
* Afficher la liste des fenêtres : <code>CTRL+A</code> puis <code>"</code>
* Renommer la fenêtre courante : <code>CTRL+A</code> puis <code>A</code>
* Fermer la fenêtre courante : <code>exit</code> ou <code>CTRL+D</code>


# screen -S entrainement_hy_mt2
==== Diviser l'écran ====


La commande lancée ensuite continuera même après la fermeture du terminal.
* Division horizontale (haut/bas) : <code>CTRL+A</code> puis <code>S</code>
 
* Division verticale (gauche/droite) : <code>CTRL+A</code> puis <code>|</code>
==== Détacher une session ====
* Changer de région : <code>CTRL+A</code> puis <code>TAB</code>
 
* Créer une nouvelle fenêtre dans la région active : <code>CTRL+A</code> puis <code>c</code>
Pour quitter <code>screen</code> sans arrêter le programme :
* Fermer la région active : <code>CTRL+A</code> puis <code>X</code>
 
<code>CTRL+A</code> puis <code>D</code>
 
Le raccourci complet est :
 
<code>CTRL+A</code>, relâcher, puis <code>D</code>
 
La session reste active en arrière-plan.
 
==== Voir les sessions existantes ====
 
# screen -ls
 
Exemple :
 
<pre>
There are screens on:
        12345.entrainement_hy_mt2    (Detached)
        12346.test                  (Detached)
</pre>
 
==== Revenir dans une session ====
 
Avec son nom :
 
# screen -r nom_session
 
Exemple :
 
# screen -r entrainement_hy_mt2
 
Avec son identifiant :
 
# screen -r 12345
 
==== Fermer une session ====
 
Dans la session :
 
# exit
 
ou :
 
<code>CTRL+D</code>
 
Depuis l'extérieur :
 
# screen -S nom_session -X quit
 
Exemple :
 
# screen -S entrainement_hy_mt2 -X quit
 
==== Voir les fenêtres d'une session ====
 
Une session <code>screen</code> peut contenir plusieurs terminaux.
 
Afficher les fenêtres :
 
<code>CTRL+A</code> puis <code>"</code>
 
Naviguer entre les fenêtres :
 
<code>CTRL+A</code> puis :
* <code>N</code> : fenêtre suivante
* <code>P</code> : fenêtre précédente
* <code>0-9</code> : aller directement à une fenêtre
 
==== Renommer une session ====
 
Depuis l'intérieur :
 
<code>CTRL+A</code> puis <code>SHIFT+A</code>
 
==== Reconnexion automatique après SSH ====
 
Exemple :
 
Connexion SSH :
 
# ssh utilisateur@serveur
 
Voir les sessions :
 
# screen -ls
 
Reprendre l'entraînement :
 
# screen -r entrainement_hy_mt2
 
Le programme reprend exactement où il était.
 
==== Exemple entraînement LLaMA-Factory ====
 
Créer une session :
 
# screen -S hy_mt2_training
 
Lancer l'entraînement :
 
# source /opt/llamafactory/venv/bin/activate
# cd /opt/llamafactory/LlamaFactory
# torchrun --nproc_per_node=2 hy_mt2_support/train_hy_dense.py hy_mt2_1_8b_eu5_lora_3epoch.yaml
 
Détacher :
 
<code>CTRL+A</code> puis <code>D</code>
 
Le serveur peut ensuite être déconnecté. L'entraînement continue.
 
Pour revenir :
 
# screen -r hy_mt2_training
==== Gestion des fenêtres dans Screen ====
 
Une session <code>screen</code> peut contenir plusieurs fenêtres virtuelles, similaires à plusieurs terminaux ouverts dans la même connexion.
 
Tous les raccourcis commencent par :
 
<code>CTRL+A</code>
 
Puis la touche suivante.
 
==== Créer une nouvelle fenêtre ====
 
Créer une nouvelle fenêtre :
 
<code>CTRL+A</code> puis <code>C</code>
 
Une nouvelle console apparaît.
 
Exemple d'utilisation :
* fenêtre 0 : entraînement LLaMA-Factory ;
* fenêtre 1 : surveillance GPU avec <code>nvidia-smi</code> ;
* fenêtre 2 : commandes système.
 
==== Changer de fenêtre ====
 
Fenêtre suivante :
 
<code>CTRL+A</code> puis <code>N</code>
 
Fenêtre précédente :
 
<code>CTRL+A</code> puis <code>P</code>
 
Aller directement à une fenêtre :
 
<code>CTRL+A</code> puis un chiffre :
 
* <code>0</code> : première fenêtre ;
* <code>1</code> : deuxième fenêtre ;
* etc.
 
==== Afficher la liste des fenêtres ====
 
Afficher toutes les fenêtres :
 
<code>CTRL+A</code> puis <code>"</code>
 
Exemple :
 
<pre>
Num Name
0* bash
1- nvidia
2- logs
</pre>
 
L'étoile indique la fenêtre active.
 
Choisir une fenêtre avec les flèches puis appuyer sur Entrée.
 
==== Renommer une fenêtre ====
 
Renommer la fenêtre courante :
 
<code>CTRL+A</code> puis <code>A</code>
 
Exemple :
 
<pre>
0: entrainement
1: gpu-monitor
2: shell
</pre>
==== Diviser l'écran (split) ====
 
Créer une division horizontale :
 
<code>CTRL+A</code> puis <code>S</code>
 
Naviguer entre les régions :
 
<code>CTRL+A</code> puis <code>TAB</code>
 
Créer une nouvelle fenêtre dans la région active :
 
<code>CTRL+A</code> puis <code>C</code>
 
Fermer une région :
 
<code>CTRL+A</code> puis <code>X</code>

Dernière version du 17 août 2026 à 00:10

Screen

screen permet de lancer une session terminal persistante qui continue de fonctionner après une déconnexion SSH.

Utile pour :

  • entraînements IA longs ;
  • compilations ;
  • scripts de plusieurs heures ;
  • téléchargements.

Installation

  • Installation : apt install screen

Sessions

  • Créer une session nommée : screen -S nom_session
  • Exemple : screen -S entrainement_hy_mt2
  • Voir les sessions existantes : screen -ls
  • Revenir dans une session : screen -r nom_session
  • Revenir avec l'identifiant : screen -r 12345
  • Détacher la session sans arrêter le programme : CTRL+A puis d
  • Fermer la session depuis l'intérieur : exit ou CTRL+D
  • Fermer une session depuis l'extérieur : screen -S nom_session -X quit

Fenêtres

Une session screen peut contenir plusieurs fenêtres virtuelles.

  • Créer une nouvelle fenêtre : CTRL+A puis c
  • Fenêtre suivante : CTRL+A puis n
  • Fenêtre précédente : CTRL+A puis p
  • Aller directement à une fenêtre : CTRL+A puis 0-9
  • Afficher la liste des fenêtres : CTRL+A puis "
  • Renommer la fenêtre courante : CTRL+A puis A
  • Fermer la fenêtre courante : exit ou CTRL+D

Diviser l'écran

  • Division horizontale (haut/bas) : CTRL+A puis S
  • Division verticale (gauche/droite) : CTRL+A puis |
  • Changer de région : CTRL+A puis TAB
  • Créer une nouvelle fenêtre dans la région active : CTRL+A puis c
  • Fermer la région active : CTRL+A puis X