Mémo screen

Démarrage

Vous pouvez obtenir screen à l’adresse suivante :


ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/screen/

Ou plus simplement sous debian


apt-get install screen

Une fois l’installation terminée executez simplement :


#screen

Au début rien de palpitant, un terminal classique s’offre à vous. Pour commencer nous allons créer une nouvelle fenêtre.

Entrainons-nous dès maintenant à utiliser la séqueunce CTRL+a (que je noterais par la suite C-a), séquence que je conseille de familiariser avec vos doigts car nous n’allons pas arrêter de s’en servir.

Pour cela saisissez :


C-a C-c (1) (lire Contrôle-a Contrôle-c)

La encore, la première impression est plutôt décevante, rien ne donne l’impression de changement.

Saisissez alors la commande de vos rêves (par exemple ls) puis saisissez :


C-a C-p

Et vous revoila sur la première fenêtre. Saisissez encore une fois la combinaison (2) pour revenir sur votre seconde fenêtre, ou la combinaison (1) pour en créer une nouvelle.

Multi fenêtre

Pour utiliser avec plus de facilité le mécanisme multi-fenêtré, vous pouvez donner des noms à chaque fenêtre.

Rendez-vous sur votre première fenêtre et saisissez :


C-a A (3)

En bas de la fenêtre devrait s’afficher le message suivant :


Set window's title to: bash

Remplacez « bash » par le nom que vous voulez.

Renouvelez l’opération pour la deuxième fenêtre (2) puis (3).

Maintenant pour voir la liste de vos fenêtre saisissez :


C-a " (4)

Devrait alors s’afficher une liste de vos deux fenêtres :


Num Name Flags

0 admin $
1 window1 $

Utilisez les touches fléchées pour séléctionner une fenêtre et appuyez sur « entrée » pour vous y rendre.

Faisons mieux, rendez vous dans la fenêtre que vous voulez et saisissez :


C-a S (5) (respectez la casse !)

Votre fenêtre devrait alors se diviser en deux horizontalement. Pour vous rendre dans la zone du bas saisissez


C-a (6)

Effectuez maintenant la combinaison (4) pour selectionner l’autre fenêtre pour l’afficher dans la zone que vous venez de créer.

Pour détruire une zone voulue, rendez-vous sur elle avec la combinaison (6) puis saisissez


C-a X (7)

Pour détruire une fenétre saisissez


C-a K (8)

Détachement et lock screen

Finissons cette présentation de « screen » en exposant des fonctionnalités de détachement et de lock. Revenons au cas de figure présenté en introduction (cvsup + ssh). Maintenant que vous possédez screen , lancez une nouvelle session avant d’effectuer les opérations souhaitées.

Ensuite pendant que la compilation (ou toute autre opération ) s’effectue saisissez :


C-a C-d (8)

Vous reviendrez alors sur le shell depuis lequel vous avez lancé votre session « screen ». Vous pouvez alors vous déconnecter totalement dela machine tout continuera à s’executé côté serveur.

Reconnectez vous ensuite en ssh et saisissez


#screen -R

Ceci vous restorera votre session precédente.

Enfin si vous voulez verouiller votre session courrante saisissez simplement


C-a C-x (9)

Détection des silences et des activités

Vous ne pouvez pas voir ce qui se passe sur les autres terminaux autre que celui que vous avez en face de vous. Pour activer la détection d’activité sur un terminal, utilisez :
- C-a M : activation/désactivation du monitoring.

De la même manière, on peut détecter le silence sur un terminal :
- C-a _ : activation/désactivation du monitoring silence.

Pour vérifier l’état du monitoring (activité ou silence)
- C-a m : Voir l’état du monitoring (activé ou pas activé).

Exemple : Et bien, si l’on imagine que tu as trois terminaux dans ton xterm, sur le premier tu lances un apt-get dist-upgrade qui semble durer des heures, alors tu tapes C-a _. Ainsi, un message s’affichera quand au bout de 30 secondes le terminal 1 n’aura pas détecté d’activité (donc à la fin de ton dist-upgrade).

scrollbar

Si vous souhaitez rajouter le support du scrollbar ou pgup/pgdown

Vous devez créer un fichier (dans votre compte sur la machine sur laquelle tourne screen) :


~/.screenrc

et y insérer :


termcapinfo xterm ti@:te@

Memo

- C-a c : c comme create pour créé un nouveau terminal virtuel
- C-a w : w comme where pour vérifier ou savoir dans quel terminal virtuel nous somme
- C-a n : n pour next pour aller sur la fenêtre suivante
- C-a p : p pour previous pour aller sur la fenêtre précédente.
- C-a 0C-a 9 : pour naviguer entre les dix fenêtres.
- C-a ‘ : et tapez dans le prompt le numéro de la fenêtre que vous désirez atteindre.
- C-a «  : qui propose la liste des différentes fenêtres.
- C-a d : d pour detached pour détacher le screen de la session shell initial
- C-a \ : ferme toutes les fenêtres et quitter screen. Une confirmation est demandée.
- C-a z ou C-a Z : Suspendre screen (on ne perd pas les terminaux ; les programmes sont arrêtés).
- C-a x : verrouille screen ;
- C-a S : partage la fenêtre en deux. Pour circuler entre les fenêtres C-a tab et pour fermer le split C-a X.
- C-a ? : Liste des commandes ; aide en ligne.
- C-a M : activation/désactivation du monitoring.
- C-a _ : activation/désactivation du monitoring silence.
- C-a m : Voir l’état du monitoring (activé ou pas activé).
- C-a N : repérage du terminal courant, avec le titre du terminal entre parenthèse
- C-a A : renomme le terminal courant. Un appui sur Entrée sert à valider
- C-a k ou C-a K : ferme un terminal. Une confirmation est demandée. Tout programme en cours dans ce terminal sera arrêté