Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:autres:screen [24/08/2010 07:36] smolski |
doc:autres:screen [04/10/2010 08:17] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== SCREEN ====== | ||
+ | |||
+ | ===== Rédaction en cours... 29/08/2010 ===== | ||
+ | |||
+ | |||
+ | * Objet : Commande Linux Screen | ||
+ | * Niveau requis : DÉBUTANT AVISÉ | ||
+ | * Commentaires : //LA commande idéale couplée avec //[[commande:ssh|SSH]]. | ||
+ | * Débutant, à savoir : [[manuel:ldc | La ligne de Commande]] | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | ''Screen'' (GNU/Screen) est un //Multiplexeur// permettant d'ouvrir plusieurs terminaux (on dit des sessions) à partir d'un seul. | ||
+ | |||
+ | Cela permet de s'attacher et de se détacher d'une commande en la laissant active dans la //sessionscreen// créée. | ||
+ | |||
+ | Via [[commande:ssh | SSH]], **screen** peut ouvrir une //session screen// sur un pc distant et de laisser active une commande en exécution tout en se déconnectant totalement du pc distant. \\ | ||
+ | Puis, ultérieurement, de revenir sur cette commande dans la même //session screen//. \\ | ||
+ | |||
+ | Idéal pour intervenir sur un pc distant (un serveur souvent) ou pour aider un utilisateur qui pourra suivre visuellement vos actions sur son pc en ouvrant la même //session screen// ! | ||
+ | |||
+ | Associés, **SSH** et **screen** sont le nec plus ultra sécuritaire et efficace pour interagir entre des pc. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Rien de plus simple. Il suffit d'utiliser votre gestionnaire de paquets préférés et d'installer le paquet screen. \\ | ||
+ | Par exemple, avec apt-get : | ||
+ | <code bash> | ||
+ | aptitude install screen</code> | ||
+ | |||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | Une fois l'installation complétée, vous pouvez commencer à utiliser **screen**. | ||
+ | |||
+ | ==== Screen - Ouvrir ==== | ||
+ | |||
+ | Pour lancer **screen** dans une [[manuel:console | Console]] (ou un [[manuel:terminal | Terminal]]), il suffit de rédiger la commande : | ||
+ | $ screen | ||
+ | |||
+ | Au lancement de **screen**, un message s’affiche à l’écran indiquant la version utilisée ainsi que ce programme est sous licence GPL. | ||
+ | // | ||
+ | {{ http://images.debian-facile.org/file-Ra38c6907fa06d0e4da3bf4c5913dc7f0.png }} | ||
+ | |||
+ | // | ||
+ | |||
+ | Il ne reste plus qu’à appuyer sur la touche : | ||
+ | Espace | ||
+ | ou celle de : | ||
+ | Entrée | ||
+ | pour se retrouver dans la fenêtre de **screen**. | ||
+ | |||
+ | Il n'y pas de différence, mais vous êtes bien dans **screen** avec ses commandes spécifiques d'utilisation supplémentaires et non plus dans votre ancienne console. | ||
+ | |||
+ | ==== Screen - Quitter ==== | ||
+ | |||
+ | Pour sortir de **screen** rédigez : | ||
+ | exit | ||
+ | ou bien appuyez sur la combinaison des touches clavier : | ||
+ | Ctrl+d | ||
+ | |||
+ | //Nous verrons plus loin qu'il existe d'autres manières de sortir de// **screen**. | ||
+ | |||
+ | === Remarque === | ||
+ | |||
+ | Vous devez taper autant de fois ces commandes que vous avez de fenêtres ouvertes. Un message apparaît finalement vous indiquant que vous avez bien quitté screen : | ||
+ | [screen is terminating] | ||
+ | |||
+ | ===== Screen - Options ===== | ||
+ | |||
+ | ==== Option : Ctrl+a w - fenêtre screen ==== | ||
+ | |||
+ | **Screen** étant un gestionnaire de fenêtres, il permet donc d’ouvrir et de fermer des fenêtres. Il va même jusqu'à indiquer dans quelle fenêtre nous nous trouvons. | ||
+ | |||
+ | Tapez : | ||
+ | Ctrl+a w | ||
+ | |||
+ | **Résultat** | ||
+ | |||
+ | Une petite ligne s’affiche //temporairement// en bas de l'écran où l'on peut lire par exemple ceci : | ||
+ | 0*$ bash | ||
+ | |||
+ | **Signification** | ||
+ | |||
+ | Nous avons tout simplement demandé à **screen** de nous dire où nous étions, et il nous a répondu ... à sa façon. | ||
+ | |||
+ | Chaque fenêtre de screen a : | ||
+ | - un numéro de session screen, la première commence à 0, | ||
+ | - un astérisque ( * ) qui indique dans quelle session screen nous nous situons actuellement, | ||
+ | - un signe de dollar ( $ ) | ||
+ | - le nom du shell utilisé. | ||
+ | |||
+ | ==== Option : Ctrl+a - gestion des fenêtres ==== | ||
+ | |||
+ | == Ctrl+a c == | ||
+ | |||
+ | Pour créer une nouvelle fenêtre, il suffit de taper la combinaison de touches : | ||
+ | Ctrl+a c | ||
+ | |||
+ | Il est à noter qu'en plus de créer une nouvelle fenêtre, **screen** nous emmène directement dans celle-ci. \\ | ||
+ | |||
+ | == Ctrl+a w == | ||
+ | |||
+ | **Screen** étant un gestionnaire de fenêtres, il permet donc d’ouvrir et de fermer des fenêtres. Il va même jusqu'à indiquer dans quelle fenêtre nous nous trouvons. | ||
+ | |||
+ | Tapez : | ||
+ | Ctrl+a w | ||
+ | |||
+ | **Résultat** | ||
+ | |||
+ | Une petite ligne s’affiche //temporairement// en bas de l'écran où l'on peut lire par exemple ceci : | ||
+ | 0-$ bash 1*$ bash (l'étoile * à côté du 1 indique que nous sommes bien dans la deuxième fenêtre) | ||
+ | |||
+ | **Signification** | ||
+ | |||
+ | Nous avons tout simplement demandé à **screen** de nous dire où nous étions, et il nous a répondu ... à sa façon. | ||
+ | |||
+ | Chaque fenêtre de screen a : | ||
+ | - un numéro de session screen, la première commence à ''0'', | ||
+ | - un astérisque ( ''*'' ) qui indique dans quelle session screen nous nous situons actuellement, | ||
+ | - un signe de dollar ( ''$'' ) | ||
+ | - le nom du shell utilisé. | ||
+ | |||
+ | Pour se promener entre les différentes fenêtres, il existe quatre solutions : | ||
+ | |||
+ | == Ctrl+a n == | ||
+ | |||
+ | Ctrl+a n (n pour next) pour aller à la fenêtre suivante. | ||
+ | |||
+ | == Ctrl+a p == | ||
+ | |||
+ | Ctrl+a p (p pour previous) pour aller à la fenêtre précédente. | ||
+ | |||
+ | == Ctrl+a 0 (zéro, le chiffre) == | ||
+ | |||
+ | Ctrl+a 0 ... Ctrl+a 9 pour naviguer entre les dix fenêtres de sreen. | ||
+ | |||
+ | == Ctrl+a ' == | ||
+ | |||
+ | Ctrl+a ' | ||
+ | |||
+ | Puis, tapez dans le prompt le numéro de la fenêtre que vous désirez atteindre. | ||
+ | |||
+ | == Ctrl+a " (guillemets doubles) == | ||
+ | |||
+ | Ctrl+a " | ||
+ | |||
+ | Propose la liste des différentes fenêtres et nous pouvons y choisir au clavier, par les flèches de direction, une session où nous situer en la validant. | ||
+ | |||
+ | === Pour un clavier qwerty === | ||
+ | |||
+ | == Ctrl+a puis shift (flèche pour les majuscules) ' (apostrophe) == | ||
+ | |||
+ | Ctrl+a shift ' | ||
+ | |||
+ | Propose la liste des différentes fenêtres, à l'identique de l'option : | ||
+ | Ctrl+a w | ||
+ | |||
+ | du clavier azerty. | ||
+ | |||
+ | ==== Option : -S nommer la session screen ==== | ||
+ | |||
+ | <note important>''EN COURS DE VERIFICATION... smolski 04/10/2010''</note> | ||
+ | |||
+ | L'option -S à l'ouverture de screen permet de donner un nom explicite à la session que nous ouvrons. | ||
+ | |||
+ | Ainsi, par exemple, nous pouvons ouvrir une session screen nommée user ainsi : | ||
+ | screen -S user | ||
+ | |||
+ | Ceci crée une session screen nommée //user//. | ||
+ | |||
+ | Nous pouvons par exemple y lancer une tâche un peu longuette, nous deconnecter pendant cette tâche sans l'arrêter. | ||
+ | |||
+ | Pour y revenir, il suffira de taper : | ||
+ | screen -r user | ||
+ | |||
+ | Et vérifier ou faire cesser la commande qui y aura été lancée précédemment. | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | //À suivre ....// | ||
+ | |||
+ | ===== Lien ===== | ||
+ | |||
+ | * http://doc.ubuntu-fr.org/screen | ||
+ | * http://www.daviddallet.com/weblog/posts/2008/10/27/screen-ssh-et-autres-joies/ | ||