Screen + ssh que du bonheur

Accéder à tout instant à son serveur sans perdre son travail en cours.

Remarque : Ce billet date un peu, il a été rédigé en mars. Je profite d’une nouvelle astuce pour tout diffuser.

Principe

Pour administrer un serveur à distance, l’utilisation d’un terminal et ligne de commande est souvent utile. Mais on n’est jamais à l’abri d’une coupure réseau ou d’une urgence chez le dentiste. Dans ces cas, en fermant sa console on perd les traitement en cours.

Screen permet de garder en mémoire les actions utilisateurs et de rendre la main exactement au même état qu’à la déconnexion. Grâce à cet outil on peut continuer ses interventions comme si de rien n’etait.

Installer et se connecter

Pour commencer, il suffit d’installer Screen (par exemple : apt-get install screen) et de lancer la commande screen.
A cet instant, on initialise une session vierge.

A la prochaine connexion pour reprendre la main, la commande sera screen -r . -r pour ré attacher à la console serveur la session screen.

Si on souhaite détacher la session, on a la combinaison clavier ctrl a +d, lors d’une déconnexion réseau, on aura le même comportement screen sera détaché et non fermé.
En d’autres mots, screen reste toujours actif mais n’est plus associé à une sortie d’affichage.

Gérer des fenêtres de console

Un des autres intérêts de screen, c’est de pouvoir gérer plusieurs consoles. Dans l’idée des crtl + Fx sur son poste de travail.
Sur une même session, on peut donc faire plusieurs traitements en parallèle comme lancer une commander et visualiser l’aide associée.

ctrl a + c : créer une nouvelle fenêtre
ctrl a + k : pour fermer une fenêtre
ctrl a + " : pour lister les fenêtres

Se déplacer entre consoles

Une fois qu’on sait créer autant de consoles que voulues, il faut pouvoir passer de l’une à l’autre.

ctrl a + p : fenêtre précédente
ctrl a + n : fenêtre suivante
ctrl a +  [x] : aller à la fenêtre de numéro [x]

Se déplacer dans une console

Edit : 03/12/2008, merci à nouveau à Florian

Contrairement à un terminal normal, on ne peut se deplacer verticalement dans la console (scroller). Heureusement screen propose un raccourcis clavier pour se mettre en mode copie et ainsi parcourir la fenetre active.

ctrl a + echap : se mettre en mode copie
echap : annuler le mode copie

Découper l’écran

Lorsqu’on veut voir à la fois un fichier de log et lancer la commande associée, il serait pratique de découper l’écran et voir les 2 consoles en meme temps.

ctrl a +S  : découper l’écran (Attention S majuscule)
ctrl a + tab : pour se déplacer entre zone
ctrl a + X : pour fermer la zone active

Merci à Florian (Gameplayer) pour cette astuce

Verrouiller

Dans certains cas, il peut être utile de verrouiller sa session screen, un petit coup de ctrl a + x et hop.

N’hésitez pas à proposer vos suggestions, remarques, ... Je mettrais à jour ce billet au fut et à mesure.

Documents joints

Messages

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.