-
screen
Installation
sudo apt update && sudo apt install screen
Concepts Fondamentaux
Démarrer une session > créer des fenêtres ou régions > se détacher
Se rattacher à une session
Fermer une session
Démarrer
screen screen -S nom_session # Lancer une session avec un nom spécifique screen -dmS nom_session commande # Lancer une commande spécifique dans Screen
Commandes de Base (CTRL+A)
Navigation:
CTRL+A cCréer une nouvelle fenêtreCTRL+A nFenêtre suivanteCTRL+A pFenêtre précédenteCTRL+A 0-9Aller à la fenêtre NCTRL+A "Liste des fenêtres (permettant de naviguer)CTRL+A ARenommer la fenêtre couranteGestion des Sessions:
CTRL+A dDétacher la session (reste active en arrière-plan)screen -lsLister les sessions disponiblesscreen -r nom_sessionRéattacher une sessionscreen -r pidRéattacher par PIDscreen -xAttacher à une session existante (mode partagé)Manipulation de Fenêtres:
CTRL+A kTuer la fenêtre couranteCTRL+A SDiviser horizontalement la fenêtreCTRL+A |Diviser verticalement la fenêtreCTRL+A tabPasser d’une région à l’autreCTRL+A XFermer la région couranteCTRL+A QFermer toutes les régions sauf la couranteCopier/Coller:
Entrer en mode copie:
CTRL+A [Naviguer avec les touches fléchées
Marquer le début avec
EspaceMarquer la fin avec
EspaceColler:
CTRL+A ]Configuration Avancée
Fichier de configuration (~/.screenrc):
# Activer la barre de statut hardstatus alwayslastline hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]' # Définir le buffer de défilement defscrollback 5000 # Activer le support de la souris mousetrack on # Touche préfixe personnalisée (au lieu de Ctrl+a) # escape ^Bb
Commandes utiles pour .screenrc:
# Démarrer avec 4 fenêtres screen -t shell1 0 screen -t shell2 1 screen -t shell3 2 screen -t shell4 3 # Activer le support 256 couleurs term screen-256color
Fonctionnalités Avancées
Partage de Session:
Premier utilisateur:
screen -S session_partagee
Second utilisateur (doit avoir les permissions):
screen -x session_partagee
Mode Lecture Seule:
screen -r nom_session -p 0 -X readonly
Envoyer des Commandes à une Session Détachée:
screen -S nom_session -p 0 -X stuff 'commande\n'
Journalisation:
Activer dans .screenrc :
# Journalisation automatique logfile /chemin/vers/journal.%H.%n.log logfile flush 1 log on
Ou manuellement pendant une session:
CTRL+A H- Activer/désactiver journalisationCTRL+A >- Sauvegarder le journalVerrouillage de Session:
Ctrl+a x # Verrouille la session avec mot de passe utilisateur
Gestion des Sessions
Lister les sessions:
screen -ls # Sortie: 1234.nom_session (Detached)
Détacher proprement:
Ctrl+a d
Tuer une session:
screen -S nom_session -X quit
Nettoyer les sessions mortes:
screen -wipe
Astuces Utiles
Notification de silence (alerte après inactivité):
Ctrl+a _
Horloge:
Ctrl+a t
Changer l’encodage:
Ctrl+a . # Affiche et permet de changer l'encodage
Mode moniteur (affiche les notifications):
Ctrl+a M
Dépannage
Problèmes courants et solutions:
Session bloquée:
screen -D -r nom_session # Force le détachement puis réattache
Problèmes de couleur:
Ajouter à .screenrc:term xterm-256color alias screen='screen -T xterm-256color'
Scrollback limité:
Dans .screenrc:defscrollback 10000
Alternatives à Screen
tmux: Plus moderne, avec des fonctionnalités supplémentaires
byobu: Interface améliorée pour Screen ou tmux
dtach: Version minimaliste de Screen