[Sysadmin's friends] Screen

Ce billet inaugure une toute nouvelle rubrique baptisée : Sysadmin’s  friends (en français : les amis de l’admin sys). Non…non… mon intention n’est pas de vous présenter un pote à moi chaque semaine, il n’y aurait pas de quoi tenir un mois, nooooon je déconne !

Plus sérieusement, l’idée est donc de vous présenter régulièrement un petit outil qui apporte énormément au quotidien d’un administrateur système et réseau.

Pour cette première, j’ai choisi de vous présenter screen, un multiplexeur de terminaux en mode texte (réflexion personnelle :  voilà, j’ai largué la moitié de mon audiance rien qu’avec cette phrase).  Pour faire plus simple, screen permet  en quelque sorte d’avoir plusieurs terminaux dans une seule fenêtre.

Trêve de bavardages, passons aux choses pratiques :

# Installation de screen sous Debian/Ubuntu
aptitude install screen

# Installation de screen sous CentOS/Fedora/RHEL
yum install screen

# Installation de screen sous Archlinux
pacman -S screen

Lesson number one :

Pour lancer screen depuis votre terminal, il suffit de taper

screen

(ouahhh comment il est fort lui !).

Lesson number two :

Pour afficher le numéro de fenêtre (de terminal, de shell) sur lequel nous sommes, il suffit de presser CTRL+A puis W. Vous verrez normalement s’afficher dans le coin inférieur gauche de votre terminal la mention suivante : 0*$ bash. Le nombre zéro suivi d’une étoile signifie que nous sommes sur la première session (ou premier terminal).

Lesson number three :

Avant d’aller plus loin, lançons la commande top qui affiche des statistiques systèmes. Maintenant, faites CTRL+A puis C, vous devriez vous retrouvez à nouveau avec un terminal vide. Faites CTRL+A puis W, que remarquez vous ? Oui oui, c’est bien cela, vous êtes passés à une seconde session.

Lesson number four :

Maintenant je pense que vous aimeriez bien savoir comment retourner à votre session précédente non ? Et bien diverses possibilités s’offrent à vous.

CTRL+A puis P : Permet de passer à la session précédente.

CTRL+A puis N : Permet de passer à la session suivante.

CTRL+A puis n : n étant numéro de session que l’on désire atteindre.

Lesson number five :

Bon là, je vous vois dubitatif compte à l’intérêt de cette commande étant donné que les onglets existent déjà sur le shell de votre Gnome ou de votre KDE.

C’est là qu’intervient cette avant dernière leçon ! Quand vous utilisez le terminal de KDE ou de Gnome avec différents onglets, si vous fermez votre terminal et bien vous perdez logiquement l’ensemble de vos onglets… et inévitablement les commandes qui étaient lancées sont interrompues.

Et bien… petite démo !

Positionnez-vous sur la première session où la commande top a été lancée : CTRL+A puis 0 (c’est un zéro et non la lettre o de l’alphabet). Puis faites, CTRL+A puis D. Oupsss ! Tout a disparu ! C’est normal ne paniquez pas ! Maintenant, fermez complètement votre fenêtre de terminal (si vous êtes en environnement graphique bien entendu).

Re-ouvrez une fenêtre terminal et tapez : screen -r. Et là comme par miracle, vous vous retrouvez sur votre première session avec la commande top qui tourne toujours. Grâce à cette spécificité, vous pouvez utiliser screen lors d’une connexion SSH pour pouvoir lancer une commande sur une machine distante puis vous en déconnecter tout en laissant la commande continuer son exécution, il vous sera même possible de vous reconnecter par la suite en SSH et de reprendre votre session pour vérifier l’état d’exécution de la commande précédemment lancée.

Lesson number six :

Une dernière petite leçon en guise de “pompon sur la gâteau”, en effet, je ne pouvais pas clore cet article sans parler du partage de session via SSH à l’aide de screen.

# Admettons que titi veut partager l'écran de sa machine avec toto qui possède un accès SSH sur celle-ci.

# Sur la machine de titi
screen -S nom_de_session

# Faites CTRL+A puis
:multiuser on

# Faites CTRL+A puis
:acladd toto

# Depuis la machine de toto :
ssh toto@ip_machine_titi
screen -x titi/nom_de_session

Voilà, maintenant vous savez comment partager vos sessions entre deux machines via SSH. A très bientôt les zouzous !

Vus : 1022
Publié par Nassim KACHA : 5