Screen

Screen (GNU Screen) est un « multiplexeur de terminaux » permettant d'ouvrir plusieurs terminaux dans une même console, de passer de l'un à l'autre et de les récupérer plus tard.

Il offre d'autres services très utiles comme :

  • La possibilité d'attacher et de détacher une session, pratique par exemple pour reprendre la main sur un client IRC tel que Irssi ou Weechat.
  • La possibilité de partager un terminal avec un autre utilisateur, idéal pour aider un utilisateur distant.

L'installation se fait à travers les miroires officiels de chaque distribution.

Pour les distributions Debian et dérivée :

# apt-get install screen

Pour les distributions RedHat et dérivée :

# yum install screen

Pour créer un nouveau terminal saisir:

screen -S <nom>

Une fois dans notre session, si on souhaite laisser tourner un programme dedans, en tâche de fond et avoir la main sur la console, on détache le terminal via la commande de touches : “Ctrl+A” puis “D

Pour visualiser les screens créés, on exécute la commande :

screen -ls

On a leur nom et leur numéro unique.

Pour revenir sur un screen détaché, on passe par la commande :

screen -r <nom>

ou bien, si plusieurs screens ont le même nom, on peut les récupérer avec leur numéro :

screen -r <numero>

Parfois, si on est plusieurs à vouloir se rattacher au screen créé on peut utiliser

screen -x <nom>

Pratique pour suivre sur plusieurs consoles des manipulations d'un collègue en étant géographiquement éloignés !

Pour quitter un screen, il suffit de faire dans celui-ci la commande exit comme si on fermait une console normale. Si on veut tuer un screen détaché (pour une raison X ou Y) on peut exécuter la commande

screen -X -S lenom kill

Pour créer un screen, directement en mode “détaché”, il suffit d'utiliser les options d et m

screen -dmS "<titre>"  <commande>

Exemple :

screen -dmS optimus optirun read -p optimus

Cela créé une session screen détachée, avec comme nom “optimus” dont la commande lancée dedans est “optirun read -p optimus”

Ce cas de figure peut être pratique dans le cas où on veut lancer un screen au démarrage, (donc par root) pour un utilisateur de la machine.

Pour celà, on combine “su” et “screen” :

su - utilisateur -c 'screen -dmS  titre  commande'

Pour naviguer dans les screen :

  [CTRL]+[a] suivi de [n]: pour «next», aller au terminal suivant.
  [CTRL]+[a] suivi de [p]: pour «previous», aller au terminal précédent.
  [CTRL]+[a] suivi de [0]..[9]: aller au terminal n.
  [CTRL]+[a] suivi de [']: saisir dans le prompt le numéro du terminal.
  [CTRL]+[a] suivi de ["]: lister des différents terminaux, avec la possibilité d'en choisir un.
  [CTRL]+[a] suivi de [w]: lister les terminaux actuels avec leur nom.
  [CTRL]+[a] suivi de [a]: retourner au terminal d'où l'on vient.
  [CTRL]+[a] suivi de [A]: nommer les terminaux et s'y rendre par la suite plus aisément.

Séparation de la console :

  [CTRL]+[a] suivi de [AltGr]+[6] (|): Sépare la console courante en deux consoles verticalement (la console courante devient celle de gauche).
  [CTRL]+[a] suivi de [S]: Sépare la console courante en deux consoles horizontalement (la console courante devient celle du dessus).
  [CTRL]+[a] suivi de [TAB]: Une fois la console séparée, ce raccourci permet de se positionner sur la console suivante.
  [CTRL]+[a] suivi de [Q]: Supprime toutes les régions, sauf la région courante.
  [CTRL]+[a] suivi de [K]: Tue la console courante ainsi que les processus qui s'y trouvent.
  [CTRL]+[a] suivi de [X]: Ferme la région courante.

Divers :

  [CTRL]+[a] suivi de [F]: Redimensionnement de la fenêtre à la taille de son terminal. Utile lorsque l'on est plusieurs sur une même console et que l'on enrage de ne pas avoir un écran 16/9e.
  [CTRL]+[a] suivi de [H]: Permet de logguer tout ce qui passe à l'écran dans un fichier $HOME/screenlog.XX (XX : no de la console)
  [CTRL]+[a] suivi de [?]: Affiche une petite aide

Déplacement et copie :

  [CTRL]+[a] suivi de [ESC]: Entre en mode copie/scrollback. On peut se déplacer dans le screen avec les flèches directionnelles.
  ENTER : Permet de commencer une sélection. Appuyer une nouvelle fois sur ENTER pour terminer la sélection.
  [CTRL]+[a] suivi de []]: Colle le contenu sélectionné précédemment.

Il est possible pour chaque utilisateur du système de personnaliser son screen grâce à un fichier de configuration spécifique : «~/.screenrc». Un exemple d'un tel fichier est disponible dans /etc/screenrc. Il vous suffit de faire :

cp /etc/screenrc ~/.screenrc

Et vous pourrez ensuite le personnaliser comme bon vous semble.

Voici les commande les plus utilisé pour gérer Screen :

  • Ctrl+a c Create a new window (with shell)
  • Ctrl+a » List all window
  • Ctrl+a 0 Switch to window 0 (by number )
  • Ctrl+a A Rename the current window
  • Ctrl+a S Split current region horizontally into two regions
  • Ctrl+a | Split current region vertically into two regions
  • Ctrl+a tab Switch the input focus to the next region
  • Ctrl+a Ctrl+a Toggle between the current and previous region
  • Ctrl+a X Close the current region
Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus