GNU Screen
GNU Screen est un multiplexeur de terminal, l'ancêtre de tmux : il permet de lancer plusieurs sessions shell dans un seul terminal, de les détacher pour laisser des processus tourner en arrière-plan (particulièrement utile en SSH sur des connexions instables), puis de s'y rattacher plus tard. Ce mémo reprend l'essentiel des commandes, d'après ce gist.
Toutes les combinaisons de touches s'utilisent après le préfixe, par défaut Ctrl+a (noté préfixe ci-dessous). Pour envoyer un Ctrl+a littéral à l'application en cours, faire préfixe a.
Sessions
screen # Lancer une nouvelle session
screen -S mysession # Lancer une nouvelle session nommée
screen -ls # Lister les sessions actives
screen -r # Se rattacher à l'unique session détachée
screen -r mysession # Se rattacher à une session précise
screen -x # Se rattacher à une session déjà attachée ailleurs (partage d'écran)
screen -d mysession # Détacher une session depuis l'extérieur
screen -d -r mysession # Détacher puis se rattacher immédiatement (utile si déjà attachée ailleurs)
screen -X -S mysession kill # Terminer une session précise sans s'y attacherFenêtres
Une fenêtre correspond à un shell indépendant au sein de la session.
préfixe c # Créer une nouvelle fenêtre
préfixe Ctrl+a # Basculer vers la dernière fenêtre active
préfixe 0-9 # Aller à la fenêtre numéro 0-9
préfixe ' # Aller à une fenêtre par numéro ou par titre (saisi ensuite)
préfixe n ou espace # Aller à la fenêtre suivante
préfixe p ou retour arrière # Aller à la fenêtre précédente
préfixe " # Afficher la liste des fenêtres et en choisir une
préfixe w # Afficher la barre listant les fenêtres ouvertes
préfixe A # Renommer la fenêtre courante
préfixe k # Fermer (kill) la fenêtre couranteDivisions d'écran (régions)
préfixe S # Diviser l'écran horizontalement (régions empilées)
préfixe | # Diviser l'écran verticalement (régions côte à côte)
préfixe Tab # Passer à la région suivante
préfixe X # Fermer la région courante
préfixe Q # Fermer toutes les régions sauf la couranteUne région ne montre qu'une fenêtre à la fois : après avoir créé une région, il faut y ouvrir ou y attacher une fenêtre avec
préfixe coupréfixe n/préfixe ".
Mode copie et défilement
préfixe [ ou préfixe Échap # Entrer en mode copie/défilement
Ctrl+u # Défiler d'une demi-page vers le haut
Ctrl+d # Défiler d'une demi-page vers le bas
espace # Démarrer une sélection
Entrée # Copier la sélection et quitter le mode copie
Échap # Quitter le mode copie sans copier
préfixe ] # Coller le dernier contenu copiéDivers et utilitaires
préfixe Ctrl+l # Redessiner l'écran courant
préfixe M # Activer la surveillance d'activité sur la fenêtre courante
préfixe _ # Activer la surveillance de silence (alerte si plus aucune sortie)
préfixe Ctrl+v # Insérer le prochain caractère littéralement (utile pour les non-ASCII)
préfixe x # Verrouiller le terminal (protégé par mot de passe)
préfixe : # Ouvrir la ligne de commande screen
préfixe H # Activer/désactiver l'enregistrement de la sortie dans un fichier
préfixe ? # Afficher l'aide (liste des raccourcis):sessionname nom # Renommer la session courante depuis la ligne de commande
:source ~/.screenrc # Recharger la configurationQuitter et détacher
préfixe d # Détacher la session (les processus continuent de tourner)
préfixe D D # Détacher toutes les fenêtres et quitter rapidement
préfixe Ctrl+\ # Forcer la fermeture de screen (avec confirmation)
préfixe : puis quit # Quitter proprement toutes les fenêtres et la sessionConfiguration (~/.screenrc)
# Désactiver le message de bienvenue au démarrage
startup_message off
# Augmenter la taille de l'historique de défilement
defscrollback 10000
# Activer une ligne de statut en bas d'écran (fenêtres, heure, hostname)
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}]'
# Changer le préfixe de Ctrl+a vers Ctrl+j (évite le conflit avec le "aller au début de ligne" du shell)
escape ^JjAide-mémoire rapide
| Situation | Commande |
|---|---|
| Nouvelle session nommée | screen -S nom |
| Lister les sessions | screen -ls |
| Se rattacher | screen -r nom |
| Se rattacher en forçant le détachement ailleurs | screen -d -r nom |
| Se détacher | préfixe d |
| Terminer une session sans s'y attacher | screen -X -S nom kill |
| Nouvelle fenêtre | préfixe c |
| Basculer entre fenêtres | préfixe n / préfixe p |
| Lister les fenêtres | préfixe " |
| Diviser horizontalement | préfixe S |
| Diviser verticalement | préfixe | |
| Passer à la région suivante | préfixe Tab |
| Copier du texte | préfixe [ puis sélection puis Entrée |
| Coller | préfixe ] |
| Envoyer un Ctrl+a littéral | préfixe a |
Source : gist.github.com/jctosta
