Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
screen [Le 22/12/2012, 23:27]
89.89.179.47 [Personnaliser son screen]
screen [Le 13/02/2023, 21:47] (Version actuelle)
176.171.41.89 [Raccourcis supplémentaires]
Ligne 1: Ligne 1:
-{{tag>Hardy Lucid Oneiric Precise ​administration système console terminal}}+{{tag>​administration système console terminal}}
 ---- ----
 +
 +{{ gnu_screen.png?​190nolink| Gnu Screen}}
 ====== Screen, le multiplexeur de terminaux ====== ====== Screen, le multiplexeur de terminaux ======
  
-**Screen** (GNU/Screen) est un utilitaire ​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. Ceci explique sa désignation de «multiplexeur de terminaux». ​Il offre d'​autres services très utiles comme : +**Screen** ([[wpfr>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. 
-  * La possibilité d'​attacher et de détacher une session, pratique pour reprendre la main sur un [[:irssi]].+ 
 +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.   * La possibilité de partager un terminal avec un autre utilisateur,​ idéal pour aider un utilisateur distant.
- 
-<note tip>​[[byobu]] est une version améliorée de //screen// disponible par défaut dans Ubuntu 10.04. Il peut s'​utiliser avec les mêmes commandes que //screen// mais aussi avec des raccourcis F2 à F9 qui sont plus faciles à utiliser (voir l'aide disponible dans le logiciel par le menu F9.</​note>​ 
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 13: Ligne 15:
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée ;   * Disposer d'une connexion à Internet configurée et activée ;
-  * Avoir activé l'​accès aux [[:​depots#​universe_et_multiverse|dépôts Universe et Multiverse]] ​;+  * Avoir activé l'​accès aux [[:​depots#​universe_et_multiverse|dépôts Universe et Multiverse]]
  
 ===== Installation ===== ===== Installation =====
Ligne 19: Ligne 21:
 S'il ne l'est pas déjà, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​screen]]** S'il ne l'est pas déjà, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​screen]]**
  
-<note tip>​Screen est disponible par défaut depuis [[:​Jaunty|Ubuntu 9.04]], il bénéficie en plus de trois profils au choix relativement intéressants pour ceux qui n'​auraient pas déjà fait le leur. </​note>​ +===== Exemple d'​utilisation de Screen ​=====
- +
-===== Exemple d'​utilisation de screen ​=====+
  
-Nous allons lancer dans le //screen// une application en ligne de commande, puis «nous détacher» ​de la session du //screen// en laissant l'​application tourner dedans. Ensuite, à partir du même poste ou d'un poste distant (avec [[:ssh]] par exemple) nous pourrons ​«nous rattacher» ​à la session du //screen// et récupérer exactement la même chose que lorsque nous nous étions détaché.+Nous allons lancer dans le //screen// une application en ligne de commande, puis « nous détacher » de la session du //screen// en laissant l'​application tourner dedans. Ensuite, à partir du même poste ou d'un poste distant (avec [[:ssh]] par exemple) nous pourrons ​« nous rattacher » à la session du //screen// et récupérer exactement la même chose que lorsque nous nous étions détaché.
  
   * Créer un nouveau //screen// en nommant la session :   * Créer un nouveau //screen// en nommant la session :
Ligne 44: Ligne 44:
  
 OU fermer le terminal et/ou ouvrir un autre terminal OU fermer le terminal et/ou ouvrir un autre terminal
 +OU tapez exit
  
   * Pour se rattacher à la session du //screen// :   * Pour se rattacher à la session du //screen// :
Ligne 55: Ligne 56:
 ===== Utilisation ===== ===== Utilisation =====
  
-==== Lancement de screen ​====+==== Lancement de Screen ​====
  
   * Créer un nouveau //screen// en nommant la session : <​code>​screen -S toto</​code>​   * Créer un nouveau //screen// en nommant la session : <​code>​screen -S toto</​code>​
Ligne 64: Ligne 65:
  
   * Rattacher un //screen// existant : <​code>​screen -r</​code>​   * Rattacher un //screen// existant : <​code>​screen -r</​code>​
-<note tip>+
 Si plusieurs //screen// sont en cours d'​exécution,​ voilà ce que <​code>​screen -r</​code>​ va afficher : Si plusieurs //screen// sont en cours d'​exécution,​ voilà ce que <​code>​screen -r</​code>​ va afficher :
- 
 <​code>​ <​code>​
 There are several suitable screens on:  There are several suitable screens on: 
       13379.toto1 (Detached) ​       13379.toto1 (Detached) ​
       13308.toto2 (Detached) ​       13308.toto2 (Detached) ​
-      ​13356.toto3 (Dead ???)+      ​13334.toto3 ​(Attached)  
 +      13356.toto4 ​(Dead ???)
  
 Type "​screen [-d] -r [pid.]tty.host"​ to resume one of them. Type "​screen [-d] -r [pid.]tty.host"​ to resume one of them.
Ligne 80: Ligne 81:
 ou ou
 <​code>​screen -r toto1</​code>​ <​code>​screen -r toto1</​code>​
-</​note>​ 
  
-<note tip+Si le //screen// que nous essayons de rattacher n'a pas été détaché (toto3 dans l'​exemple ci-dessus), il est possible de forcer son détachement de la console précédente : 
-Si un //screen// est mort (toto3 dans l'​exemple ci-dessus), il est possible de le supprimer en saisissant la commande ​+<code> 
 +screen -d toto3 
 +</​code>​ 
 +Pour avoir plusieurs attachements simultanés (option "​-x"​),​ voir la section [[#Partager un terminal]]. 
 + 
 +Si un //screen// est mort (toto4 dans l'​exemple ci-dessus), il est possible de le supprimer en saisissant la commande
 <​code>​ <​code>​
 screen -wipe screen -wipe
 </​code>​ </​code>​
-</​note>​ 
- 
-<note tip> 
-Si le //screen// que nous essayons de rattacher n'a pas été détaché, il est possible de forcer son détachement de la console précédente avec l'​option "​-d",​ ou d'​avoir plusieurs attachements simultanés (option "​-x",​ voir «[[#​Partager un terminal]]»). 
-</​note>​ 
  
 ==== Créer un nouveau terminal ==== ==== Créer un nouveau terminal ====
Ligne 110: Ligne 110:
   * [CTRL]+[a] suivi de [A]: nommer les terminaux et s'y rendre par la suite plus aisément.   * [CTRL]+[a] suivi de [A]: nommer les terminaux et s'y rendre par la suite plus aisément.
  
-====  ​Fermer ​un terminal ​==== +====  ​« Tuer » un screen ​==== 
 +Lorsque on est logué sur un screen, pour le « tuer » (kill) :
 <​code>​exit</​code>​ <​code>​exit</​code>​
  
-    * [CTRL]+[D] : fermer ​une console //screen//. Lorsquil ny a plus quune seule console, ça quitte //screen//.+    * [CTRL]+[D] : équivalent à exit. Lorsqu’il n’y a plus qu’une seule console ​quitte ​//screen//
 +    * [CTRL]+[A] puis :quit le ferme également. Lorsqu'il n'y a plus qu'une seule console quitte //screen//.
  
 ==== Détacher screen ==== ==== Détacher screen ====
Ligne 140: Ligne 141:
   * [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 [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 [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 consoles, sauf la console ​courante. +  * [CTRL]+[a] suivi de [Q]: Supprime toutes les régions, sauf la région ​courante. 
-  * [CTRL]+[a] suivi de [K]: Supprime ​la console 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.
  
 <note tip> <note tip>
 +:!:  Pour la seconde console, il faut créer un nouveau screen par  [CTRL]+[a] suivi de [c] :!:
 +
 A noter que la suppression d'une ou plusieurs régions ne supprime pas les consoles qui s'y trouvaient. A noter que la suppression d'une ou plusieurs régions ne supprime pas les consoles qui s'y trouvaient.
 </​note>​ </​note>​
Ligne 151: Ligne 155:
   * [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 [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   * [CTRL]+[a] suivi de [?]: Affiche une petite aide
 +  * [CTRL]+[a] suivi de [x]: Verrouille la session
 +
  
 Déplacement et copie : 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.   * [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.   * 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. ​+  * [CTRL]+[a] suivi de []]: Colle le contenu sélectionné précédemment.
  
 ===== Personnaliser son screen ===== ===== Personnaliser son screen =====
Ligne 162: Ligne 168:
 <​code>​cp /​etc/​screenrc ~/​.screenrc</​code>​ <​code>​cp /​etc/​screenrc ~/​.screenrc</​code>​
  
-Et vous pourrez ensuite le personnaliser comme bon vous semble. ​+Et vous pourrez ensuite le personnaliser comme bon vous semble.
  
 <note tip>Il est possible de changer le caractère d'​échappement (CTRL+a). De cette manière, vous avez un caractère d'​échappement sur votre machine et un différent sur une machine distante. Et grâce à cela, vous pouvez faire du //screen// dans un //screen//. <note tip>Il est possible de changer le caractère d'​échappement (CTRL+a). De cette manière, vous avez un caractère d'​échappement sur votre machine et un différent sur une machine distante. Et grâce à cela, vous pouvez faire du //screen// dans un //screen//.
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=846021|http://​forum.ubuntu-fr.org/​viewtopic.php?​id=846021]]+[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=846021|https://​forum.ubuntu-fr.org/​viewtopic.php?​id=846021]]
 </​note>​ </​note>​
  
  
-===== Liens =====+===== Voir aussi =====
  
   * Les pages du manuel **man screen** et **info screen**   * Les pages du manuel **man screen** et **info screen**
Ligne 175: Ligne 181:
   * [[http://​www.ddmdllt.org/​weblog/​posts/​2008/​10/​27/​screen-ssh-et-autres-joies/​|Un article sur screen]] paru sur le Planet de l'​APRIL   * [[http://​www.ddmdllt.org/​weblog/​posts/​2008/​10/​27/​screen-ssh-et-autres-joies/​|Un article sur screen]] paru sur le Planet de l'​APRIL
   * [[http://​postit.petitchevalroux.net/​linux/​screen-tutoriel-video-linux.191.html|Tutoriel video de screen]]   * [[http://​postit.petitchevalroux.net/​linux/​screen-tutoriel-video-linux.191.html|Tutoriel video de screen]]
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=390985|Partagez vos '​.screenrc'​ (sur Ubuntu-fr)]]+  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=390985|Partagez vos '​.screenrc'​ (sur Ubuntu-fr)]]
   * [[http://​durak.org/​sean/​pubs/​software/​screen/​screen.html#​Top|Manuel de screen]], [[http://​durak.org/​sean/​pubs/​software/​screen/​screen_27.html|partie sur le multiuser]] (en)   * [[http://​durak.org/​sean/​pubs/​software/​screen/​screen.html#​Top|Manuel de screen]], [[http://​durak.org/​sean/​pubs/​software/​screen/​screen_27.html|partie sur le multiuser]] (en)
   * [[http://​unstableme.blogspot.fr/​2010/​01/​prevent-exit-of-shell-with-ctrl-d.html|Ignore crtl+d]] (en)   * [[http://​unstableme.blogspot.fr/​2010/​01/​prevent-exit-of-shell-with-ctrl-d.html|Ignore crtl+d]] (en)
 +  * [[Tmux]] un autre multiplexeur.
 +  * [[:Byobu]] une version améliorée de Screen.
  
 ---- ----
-//​Contributeurs : Termitor, Benoît « Beny » Pineau, [[utilisateurs:​loack]],​ [[utilisateurs:​petitchevalroux]],​ [[utilisateurs:​gardouille]], boubou_cs//.+ 
 +//​Contributeurs : Termitor, Benoît « Beny » Pineau, [[utilisateurs:​loack]],​ [[utilisateurs:​petitchevalroux]], boubou_cs, [[utilisateurs:​mydjey]]//
  • screen.1356215256.txt.gz
  • Dernière modification: Le 22/12/2012, 23:27
  • par 89.89.179.47