Gestion de session multi-terminal avec screen
Maintenant qu’on utilise Mutt, ncmcpp, Weechat, Canto, Vim, Tin et plein d’autre joyeuseté en console. Il est agréable d’utiliser un programme pouvant gérer le tout de façon avancé.
Le plus gros avantage de screen, c’est que chaque programme n’est plus dépendant du terminal, pouvant être ‘détaché’ de celui-ci. D’autant plus pratique pour une utilisation avec un serveur.
Par exemple lors d’une compilation, si la connexion vient à échouer, on doit reprendre la compilation, car elle est associé au terminal qui à été coupé lors de la déconnexion. Avec screen, un tel cas aurais placé la compilation en tache de fond, et après une reconnexion, il suffit de se ‘ré-attaché » à celui-ci.
C’est donc une très bonne pratique que d’utiliser screen, même pour un usage desktop.
Si vous n’avez pas encore installé screen, faite-le par un (suivant les distributions)
apt-get install screen
pacman -S screen
On va voir trois séries de commandes, permettant :
- Gérer les différentes fenêtres, (lister, naviguer, renommer).
- Détacher screen du terminal et manipuler les sessions.
- Les splits.
Gestion des fenêtres
Tout d’abord, lancer screen (simplement la commande ‘screen’), puis appuyer sur entrer lorsqu’il vous donne un texte de présentation, une fois fait, il vous redonne la main sur ce qu’y s’apparente à un simple prompteur.
À partir de là, lancer une application, par exemple mutt, en lançant la commande dans la console de screen.
La combinaison de touche à se souvenir avec screen, c’est ctrl+a (noté c-a par la suite).
Car toute action qu’on va voir commence par cette combinaison de touche, autant dire qu’après quelques jours d’usage de screen, vos doigts connaitront par cœur cette combinaison !
La première chose qu’on va faire, est de créer une nouvelle fenêtre, pour cela :
c-a c
Entendez par là, ctrl+a puis la touche c.
Vous vous retrouvez de nouveau devant un prompt vide. lancez par exemple irssi ou weechat dans ce prompt.
On se retrouve virtuellement avec deux prompt, l’un noté 0 et l’autre 1. Il est a retenir que la numérotation commence par zéro, mais rien de déstabilisant.
On peut renouveler cette action autant de fois que nécessaire, maintenant, on va voir comment s’y retrouver et naviguer entre les différents terminaux.
Pour naviguer entre les terminaux:
c-a 0
c-a 1
c-a 2
Permet de naviguer entre les fenêtre numéro 0, 1, 2… etc.
On peut également faire appel au fenêtre précédente (preview) ou suivante (next) avec les commandes respectivement :
c-a p
c-a n
Une commande pratique, pour ‘switcher’ entre deux fenêtres sans faire appel au numéro :
c-a c-a
On s’aperçoit que cette combinaison de touche est très instinctive puisque répétitive.
Si vous voulez en avoir une liste de toute les fenêtres ouvertes faite :
c-a "
Parfois, on se retrouve avec une série de fenêtres portant le même nom (bash, terminal ou autre) mais il est possible de renommer ces fenêtres afin de mieux s’y retrouver par la suite.
c-a A
Puis screen vous invite à changer de titre de la fenêtre.
À partir de là, vous êtes capable de naviguer avec un peu près autant de fenêtre que nécessaire.
Détacher screen
Une des fonctionnalités importante de screen, c’est de pouvoir être indépendant du terminal, et ainsi s’effectuer en fond.
Pour détacher :
c-a d
pour ré-attacher:
screen -r
s’il y a plusieurs session de screen d’ouvert, pour connaitre les différentes session :
screen -ls
Et pour ré-attacher une session particulière (par exemple):
screen -r 4290.pts-1.hostname
On a la possibilité d’ouvrir deux screen sur une même session, on aura donc dans les deux screen exactement la même chose, ce qui peut être utile dans certain cas:
screen -x
Split
Screen offre la possibilité de splitté l’écran en deux, on notera que dans la version courant, seul un split horizontal est possible, mais le split vertical est possible lors de version patché de screen.
Pour splitter l’écran:
c-a S
Et pour passer d’une partie à l’autre de l’écran:
c-a TAB
L’utilisation de screen ne s’arrête pas là, mais avec ces commandes de bases, screen vous offre des possibilités intéressante.
Aide
Comme souvent, pour avoir l’aide lorsqu’une session est ouverte :
c-a ?
Voilà une petite introduction de screen, et très rapidement, vos doigts s’habituent déjà à faire c-a sans regarder le clavier !
L’usage Desktop de cette application permet de réduire le nombre de console ouvert et trainant sur votre bureau, et permettant également, si vous passez d’une session de bureau à une autre, de ne pas couper les applications. Screen est indispensable pour des utilisations serveur car pouvant éviter bien des misères.
Articles en rapport:
- Gestion multi-comptes de mutt avec fetchmail, procmail…
- Unrealircd : Compilation, installation et configuration (part I)
- muttrc : configuration du client mail Mutt (multi-compte)
- Unrealircd : Compilation, installation et configuration (part II)
- Les différents types de bans sur les tchats
- Les sauvegardes importantes avant formatage




Il y a tmux qui fait comme screen mais qui apporte en plus le splittage vertical : http://tmux.sourceforge.net/