Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| screen [Le 12/07/2012, 15:31] – 0ol | screen [Le 26/11/2020, 08:51] (Version actuelle) – [Exemple d'utilisation de Screen] sangorys | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | ---- | ||
| + | {{ gnu_screen.png? | ||
| + | ====== Screen, le multiplexeur de terminaux ====== | ||
| + | |||
| + | **Screen** ([[wpfr> | ||
| + | |||
| + | Il offre d' | ||
| + | * La possibilité d' | ||
| + | * La possibilité de partager un terminal avec un autre utilisateur, | ||
| + | |||
| + | ===== Pré-requis ===== | ||
| + | |||
| + | * Disposer des [[: | ||
| + | * Disposer d'une connexion à Internet configurée et activée ; | ||
| + | * Avoir activé l' | ||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | S'il ne l'est pas déjà, [[: | ||
| + | |||
| + | ===== Exemple d' | ||
| + | |||
| + | Nous allons lancer dans le //screen// une application en ligne de commande, puis « nous détacher » de la session du //screen// en laissant l' | ||
| + | |||
| + | * Créer un nouveau //screen// en nommant la session : | ||
| + | < | ||
| + | |||
| + | Un message annonçant la version utilisée et indiquant que ce programme est publié sous licence GPL s' | ||
| + | |||
| + | La nouvelle session du //shell// s' | ||
| + | |||
| + | Le //shell// se présente alors comme ça : | ||
| + | < | ||
| + | foo@bar $ echo test | ||
| + | test | ||
| + | foo@bar $ | ||
| + | </ | ||
| + | |||
| + | * Pour se détacher de la session du //screen// : | ||
| + | |||
| + | Saisir la suite de touche clavier suivante : [CTRL]+[a] suivi de [d] | ||
| + | |||
| + | OU fermer le terminal et/ou ouvrir un autre terminal | ||
| + | OU tapez exit | ||
| + | |||
| + | * Pour se rattacher à la session du //screen// : | ||
| + | |||
| + | < | ||
| + | |||
| + | <note tip> | ||
| + | Le rattachement à la session du //screen// peut très bien se faire à distance. Nous accédons alors à notre machine via un accès [[:ssh]] par exemple. | ||
| + | </ | ||
| + | |||
| + | ===== Utilisation ===== | ||
| + | |||
| + | ==== Lancement de Screen ==== | ||
| + | |||
| + | * Créer un nouveau //screen// en nommant la session : < | ||
| + | |||
| + | Une fois passé l' | ||
| + | |||
| + | * Connaître les //screen// existants : < | ||
| + | |||
| + | * Rattacher un //screen// existant : < | ||
| + | |||
| + | Si plusieurs //screen// sont en cours d' | ||
| + | < | ||
| + | There are several suitable screens on: | ||
| + | 13379.toto1 (Detached) | ||
| + | 13308.toto2 (Detached) | ||
| + | 13334.toto3 (Attached) | ||
| + | 13356.toto4 (Dead ???) | ||
| + | |||
| + | Type " | ||
| + | </ | ||
| + | |||
| + | Nous avons donc le choix entre plusieurs //screen// que l'on va préciser simplement par | ||
| + | < | ||
| + | ou | ||
| + | < | ||
| + | |||
| + | Si le //screen// que nous essayons de rattacher n'a pas été détaché (toto3 dans l' | ||
| + | < | ||
| + | screen -d toto3 | ||
| + | </ | ||
| + | Pour avoir plusieurs attachements simultanés (option " | ||
| + | |||
| + | Si un //screen// est mort (toto4 dans l' | ||
| + | < | ||
| + | screen -wipe | ||
| + | </ | ||
| + | |||
| + | ==== Créer un nouveau terminal ==== | ||
| + | |||
| + | Saisir la suite de touche clavier suivante : [CTRL]+[a] suivi de [c] | ||
| + | |||
| + | Si vous avez auparavant exécuté une commande, le contenu du terminal devrait visiblement changer : vous êtes dans le nouveau terminal dont vous venez de demander la création. | ||
| + | |||
| + | ==== Naviguer entre les terminaux du screen ==== | ||
| + | |||
| + | * [CTRL]+[a] suivi de [n]: pour «**n**ext», | ||
| + | * [CTRL]+[a] suivi de [p]: pour «**p**revious», | ||
| + | * [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. | ||
| + | |||
| + | ==== « Tuer » un screen ==== | ||
| + | Lorsque on est logué sur un screen, pour le « tuer » (kill) : | ||
| + | < | ||
| + | |||
| + | * [CTRL]+[D] : équivalent à exit. Lorsqu’il n’y a plus qu’une seule console quitte //screen//. | ||
| + | * [CTRL]+[A] puis :quit le ferme également. Lorsqu' | ||
| + | |||
| + | ==== Détacher screen ==== | ||
| + | |||
| + | * [CTRL]+[a] suivi de [d]: pour détacher //screen// | ||
| + | * [CTRL]+[a] suivi de [DD]: pour détacher //screen// et fermer la session | ||
| + | |||
| + | ==== Partager un terminal ==== | ||
| + | |||
| + | Imaginez que vous vouliez que quelqu' | ||
| + | |||
| + | * Créer un nouveau //screen// en nommant la session : | ||
| + | < | ||
| + | |||
| + | Votre ami se connecte sur votre machine via [[:ssh]] par exemple et saisit la commande suivante : | ||
| + | < | ||
| + | |||
| + | À partir de là, tout ce qui est saisi dans un des 2 terminaux (le vôtre ou le sien) apparaît sur les deux. Si il n'y a qu'un seul //screen// de lancé, il n'est pas nécessaire de préciser son nom lors de la connexion. | ||
| + | |||
| + | ===== Raccourcis supplémentaires ===== | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <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. | ||
| + | </ | ||
| + | |||
| + | 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' | ||
| + | * [CTRL]+[a] suivi de [?]: Affiche une petite aide | ||
| + | |||
| + | Déplacement et copie : | ||
| + | * [CTRL]+[a] suivi de [ESC]: Entre en mode copie/ | ||
| + | * 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. | ||
| + | |||
| + | ===== Personnaliser son screen ===== | ||
| + | |||
| + | Il est possible pour chaque utilisateur du système de personnaliser son //screen// grâce à un fichier de configuration spécifique : «~/ | ||
| + | < | ||
| + | |||
| + | Et vous pourrez ensuite le personnaliser comme bon vous semble. | ||
| + | |||
| + | <note tip>Il est possible de changer le caractère d' | ||
| + | [[http:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Voir aussi ===== | ||
| + | |||
| + | * Les pages du manuel **man screen** et **info screen** | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[Tmux]] un autre multiplexeur. | ||
| + | * [[:Byobu]] une version améliorée de Screen. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
