Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
screen [Le 21/04/2013, 15:52] mydjey detached et relecture, supp tag (n'évolue pas selon les versions) |
screen [Le 08/02/2025, 00:16] (Version actuelle) stemy2 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>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 ====== | ||
Ligne 8: | Ligne 10: | ||
* 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é 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. | ||
+ | * La possibilité de laisser tourner une commande ssh même en cas de coupure de connexion, idéal pour des opérations d'administration via smartphone quand le réseau mobile est faible ou instable. | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 42: | Ligne 45: | ||
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 79: | Ligne 83: | ||
<code>screen -r toto1</code> | <code>screen -r toto1</code> | ||
- | 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 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 : |
<code> | <code> | ||
screen -d toto3 | screen -d toto3 | ||
Ligne 85: | Ligne 89: | ||
Pour avoir plusieurs attachements simultanés (option "-x"), voir la section [[#Partager un terminal]]. | 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 | + | 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 | ||
Ligne 107: | Ligne 111: | ||
* [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//. Lorsqu’il n’y a plus qu’une 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 137: | Ligne 142: | ||
* [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 148: | Ligne 156: | ||
* [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 | ||
+ | * [CTRL]+[a] suivi de [a]: Envoie le caractère de commande (CTRL a) à la fenêtre. | ||
+ | |||
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 159: | Ligne 170: | ||
<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> | ||
Ligne 172: | Ligne 183: | ||
* [[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) | ||
Ligne 180: | Ligne 191: | ||
---- | ---- | ||
- | //Contributeurs : Termitor, Benoît « Beny » Pineau, [[utilisateurs:loack]], [[utilisateurs:petitchevalroux]], [[utilisateurs:gardouille]], boubou_cs, [[utilisateurs:mydjey]]// | + | //Contributeurs : Termitor, Benoît « Beny » Pineau, [[utilisateurs:loack]], [[utilisateurs:petitchevalroux]], boubou_cs, [[utilisateurs:mydjey]]// |