- Binary Data - 670 octets
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êtrectrl a + k
: pour fermer une fenêtrectrl 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édentectrl 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 zonectrl 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
configuration de screen Personnaliser l’affichage de screen pour le rendre plus lisible A renomme en .screenrc
Messages
1. Screen + ssh que du bonheur, 28 novembre 2008, 13:59, par Gameplayer
Petit truc qui peut servir aussi, si tu as besoin de lire des infos masquées par le défilement : ctrl+a puis escape permet de faire défiler l’écran avec les flèches directionnelles et de remonter (pas indéfiniment) dans les éléments qui ont été affichés à l’écran.
Il suffit ensuite de rappuyer sur escape pour retourner en mode normal.
2. Screen + ssh que du bonheur, 3 décembre 2008, 09:45, par km
bien joué, je mets à jour l’article
grazie
3. Screen + ssh que du bonheur, 13 janvier 2011, 10:53, par penthium2
petit ajout d’intéret public :
voici 3 lignes à ajouter dans le .bashrc de l’utilisateur sur le serveur :
PS : désoler le blog comprend mal l’interpréteur de condition dans le "if" c’est donc bien des [[
[1] $ ? = "0"
4. Screen + ssh que du bonheur, 13 janvier 2011, 10:58, par penthium2
petit ajout d’intérêt public :
voici 3 lignes à ajouter dans le .bashrc de l’utilisateur sur le serveur :
PS : désoler le blog comprend mal l’interpréteur de condition dans le "if" c’est donc bien des [[
5. Screen + ssh que du bonheur, 9 août 2012, 11:24, par Geeko
Comme le dit le titre... Que du bonheur !
Merci, ça me change la vie !
6. Screen + ssh que du bonheur, 3 mai 2017, 09:42, par Arthur
Est-ce que screen est encore en 2017, ce qui se fait de mieux en session ssh ?
1. Screen + ssh que du bonheur, 3 mai 2017, 10:44, par km
Screen ne gère pas de connexion ssh, il n’est pas fait pour ça. C’est un terminal qui maintient actif les commandes lancées même si la connexion au terminal (ssh, écran) n’est plus active.
Il existe d’autres solutions pour ceci comme tmux
Coté session ssh, il y a openssh mais ce n’est pas le seul, il existe un nombre certain de serveur ssh