Introduction à screen
par
popularité : 1%
Screen permet d’ouvrir plusieurs terminaux dans une même console, de les récupérer plus tard en les "détachant" et se les "attachant". Il offre également d’autres services trÚs utiles.
Premier lancement
Ouvrez une console, puis lancez screen :
$ screen
Le premier lancement affiche un message de bienvenue. Appuyez sur la touche Espace pour passer ce message. Une invite (ou prompt) identique à celle de la console apparaît ensuite.
Pour repérer ce premier terminal, on peut laisser une trace :
$ echo premier terminal
Dès lors, on peut ouvrir un second terminal avec la combinaison de touche Control + A suivi par la touche C. Pour s’en souvenir, rappellez-vous ceci : Control + A comme action et C pour création. Cette combinaison se note C-a c.
Et hop, un second terminal apparaît. On laisse une trace pour le repérer par la suite :
$ echo second terminal
On peut rajouter d’autres terminaux à l’aide de C-a c
Navigation dans les terminaux
Voici les raccourcis claviers qui vous aideront pour utiliser screen :
C-a n : passage au terminal suivant ;
C-a p : passage au terminal précédent ;
C-a N : repérage du terminal courant, avec le titre du terminal entre parenthèse ;
C-a n (n est ici un chiffre) : passage au terminal n ;
C-a " : affichage de la liste des terminaux. On navigue dans la liste à l’aide des touches haut et bas, on sélectionne un terminal avec la touche Entrée ;
C-a w : visualise la liste des terminaux de manière non interactive ;
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é.
Détacher et réattacher les terminaux
Il est possible de détacher de screen le terminal courant avec la commande :
C-a d : on se détache de screen. Les terminaux ne sont pas perdus pour autant car il est possible de revenir sur screen avec la commande :
$screen -r
[1] : on se rattache...
.
À vous de voir l’utilisation que vous pouvez avoir avec cette fonctionnalité...
Pour vérifier que l’on a pas perdu les terminaux : C-a "
Imaginons maintenant que vous voulez montrer un enchaînement de manipulations à quelqu’un qui ne se trouve pas à côté de vous. Tapez screen ($ screen
) sur le serveur, et demandez à votre correspondant de lancer la commande $ screen -x
sous le même compte utilisateur. Il voit tout ce que vous écrivez maintenant sur le terminal et vice-versa...
Détection des silences et des activités
À ce stade du howto, 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).
Maintenant sur le deuxième terminal, tu lances mutt. Mutt indique par un message quand un mail arrive dans une boîte (le terminal détecte donc une activité). Tu tapes donc C-a M qui te permettra d’être prévenu lorsqu’une activité sera repérée dans ce deuxième terminal.
Ensuite, tu peux travailler tranquillement sur ton troisième terminal...
Mais au bout d’une heure, tu ne sais plus si tu as vérifié la présence d’une quelconque activité sur le terminal 1, tu retournes sur le terminal en question, et tu fais C-a m pour voir si tu détectes bien le silence. De même pour le second terminal pour voir si tu détectes bien une activité...
Autres fonctionnalités
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.
Et pour le reste, $ man screen
;)
[1] screen -rd pour être sûr, ie. pour détacher le screen éventuel et le réattacher NDLR
Commentaires