Travailler avec Screen

Guide pour exécuter et gérer des programmes en arrière-plan sur un serveur Linux.

Screen est un puissant multiplexeur de terminal qui vous permet d'exécuter des programmes dans des sessions détachées, de vous déconnecter sans tuer le processus, et de vous y reconnecter plus tard. C'est particulièrement utile lorsque vous travaillez sur un VPS ou des serveurs dédiés via SSH : vous pouvez lancer des tâches longues (mises à jour, parsing, minage ou applications côté serveur), vous déconnecter, et reprendre la main même après une coupure de connexion.

Screen crée des terminaux virtuels (fenêtres) dans lesquels les commandes s'exécutent, et vous permet de basculer entre eux ou de les gérer indépendamment.

Installation

Ubuntu / Debian :

sudo apt update
sudo apt install screen -y

CentOS / RHEL / AlmaLinux / Rocky :

sudo yum install screen -y
# ou
sudo dnf install screen -y

Utilisation de base

  1. Démarrer une nouvelle session :
screen

Vous verrez soit une invite de commande, soit un écran de bienvenue (appuyez sur Espace ou Entrée).

  1. Lancez votre commande (par ex. top, htop, python3 script.py, etc.).
  2. Détacher la session (sans la terminer) :
Ctrl + a, puis d

Vous verrez : [detached from ...]

  1. Se reconnecter plus tard :
screen -r

Si vous avez plusieurs sessions — listez-les d'abord :

screen -ls

Exemple de sortie :

There are screens on:
        1234.pts-0.server    (Detached)
        5678.job1            (Detached)
2 Sockets in /var/run/screen/S-root.

Se reconnecter à une session spécifique :

screen -r 1234

ou par nom :

screen -r job1

Commandes utiles dans Screen

  • Créer une nouvelle fenêtre (dans une session) : Ctrl + a, puis c
  • Basculer entre les fenêtres : Ctrl + a, puis numéro de fenêtre (0–9) ou Ctrl + a, puis « (liste des fenêtres)
  • Renommer la fenêtre active : Ctrl + a, puis A → saisir le nouveau nom
  • Fermer la fenêtre active : Ctrl + a, puis k → confirmer avec y
  • Quitter toute la session Screen : Ctrl + a, puis : → saisir quit → Entrée
  • Quitter le mode copie (si vous avez activé le mode défilement) : Échap ou q

Défilement de la sortie (mode copie)

Si la sortie d'une commande dépasse l'écran :

  1. Appuyez sur Ctrl + a, puis [ — vous entrez en mode copie.
  2. Utilisez les touches fléchées, Page Haut/Bas ou les touches vi (h,j,k,l) pour défiler.
  3. Appuyez sur Échap ou q pour quitter.

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

Personnaliser Screen (~/.screenrc)

Créez ou modifiez ~/.screenrc :

Exemple de configuration utile :

# Désactiver le message de bienvenue
startup_message off

# Toujours afficher la barre de statut en bas
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

# Créer automatiquement des fenêtres au démarrage
screen -t Main
screen -t Logs
chdir /var/log
screen -t Backup

Après l'enregistrement, les nouvelles sessions disposeront d'une barre de statut soignée et de fenêtres préconfigurées.

Conseils pratiques

  • Si une session se bloque — reconnectez-vous en mode multi-utilisateur :
screen -x
  • Pour lancer Screen automatiquement à la connexion SSH — ajoutez ceci dans ~/.bashrc :
if [ -z "$STY" ]; then screen -x || screen -S main; fi
  • Screen est idéal pour les processus de longue durée (mises à jour d'OS, compilation, traitement de données volumineuses, bots, etc.).

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter