Screen - Gestionnaire de fenêtre

baissaoui Messages postés 497 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 22 mars 2024 - 21 juin 2022 à 13:15
Document initial créé par Jipicy

Screen


Présentation

Screen est un gestionnaire de fenêtre plein écran, qui démultiplie un terminal entre plusieurs processus. Vous pouvez notamment grâce à screen reprendre une tâche en cours sur un PC en détachant le processus du terminal auquel il est lié et reprendre cette même tâche depuis un autre terminal (ou PC).

Screen interprète toutes les commandes tapées par l'intermédiaire du shell qui l'a lancé. De ce fait pour pour inter-agir directement avec son gestionnaire de fenêtre, il faudra systématiquement l'interpeller au moyen de la séquence de touches "CTRL-a" suivie d'une touche (ou d'une autre séquence de touches).

Ouverture d'une session "screen"

Pour ouvrir une session "screen" il suffit depuis un terminal (ou d'un Xterm) de taper la commande suivante :
  • screen

Détacher une session "screen"

Pour détacher une session "screen" et revenir à son shell de connection, il suffit de taper :
  • CTRL-a  d

Notez bien qu'il s'agit ici d'un "a" et d'un "d" minuscule et non d'un "A" ou d'un "D" majuscule. Les majuscules et minuscules ayant leur importance. "man screen" pour plus de détails

Reprise d'une session "screen"

Pour revenir sur sa session "screen", il suffit de taper :
  • screen -r

Fermeture d'une session "screen"

Pour fermer une session "screen", il suffit de taper :
  • CTRL-a  \

(La touche "\" (backslash) s'obtient par la combinaison des touches "Alt Gr+8" (le 8 du clavier alphanumérique, au-dessus et entre le U et le I))

Séparation d'une fenêtre en deux

La séparation de votre terminal en deux parties se fait en trois phases (notez que vous pouvez en répétant la procédure qui va suivre, séparer votre écran en plus de deux parties).

Scinder le terminal en deux

  • CTRL-a  MAJ-s

Passer sur la nouvelle fenêtre

  • CTRL-a  TAB

Ouvrir un nouveau terminal

  • CTRL-a  c

Sélectionner une fenêtre particulière

(si plusieurs fenêtres actives)
  • CTRL-a   "

ou
  • CTRL-a   '

ou
  • CTRL-a   n

"n" est un entier.

Noter que vous ne switchez pas dans la fenêtre sélectionnée, mais que le contenu de celle-ci s'ouvre dans la fenêtre où vous vous trouvez actuellement.

Redimensionner une fenêtre

Pour modifier la taille d'une fenêtre, il suffit de faire (pour agrandir) :
  • CTRL-a :resize + n

Ou encore (pour diminuer) :
  • CTRL-a :resize - n

Ou bien encore (pour mettre toutes les fenêtres à la même taille) :
  • CTRL-a :resize =

"n" est un entier.

Renommer une fenêtre

Pour renommer une fenêtre il suffit de faire :
  • CTRL-a  MAJ-a

Et d'entrer le nouveau nom destiné à la fenêtre, puis de valider par la touche <Entrée>

Exemple d'utilisation de "screen"

  • Connexion via ssh sur machine B
  • Lancement de screen
    • screen
  • Lancement d'une commande pour avoir une tâche active (par exemple "top")
  • Arrêt (suspension) de la tâche
    • CTRL + Z
  • Mise en arrière plan
    • bg %1
  • Protection par "nohup" de la tâche
    • nohup top&
  • Détachement du "screen"
    • CTRL + a => d
  • Déconnexion
    • exit
  • Lancement sur la machine B d'un shell
  • Récupération du screen
    • screen -r
  • Vérification des jobs
    • jobs
  • Mise au premier plan de la tâche
    • fg %1