logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

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
doc:autres:screen [23/08/2015 17:27]
milou [Installation]
doc:autres:screen [27/03/2017 22:21] (Version actuelle)
Switch [Multiutilisateur ! Partager ta console avec une autre personne !]
Ligne 40: Ligne 40:
  
 Pour lancer **screen** dans une [[:​doc:​systeme:​console | Console]] (ou un [[:​doc:​systeme:​terminal | Terminal]]),​ il suffit de rédiger la commande : Pour lancer **screen** dans une [[:​doc:​systeme:​console | Console]] (ou un [[:​doc:​systeme:​terminal | Terminal]]),​ il suffit de rédiger la commande :
-  $ screen+<code user>screen</​code>​
  
 Au lancement de **screen**, un message s’affiche à l’écran indiquant la version utilisée ainsi que ce programme est sous licence GPL. Au lancement de **screen**, un message s’affiche à l’écran indiquant la version utilisée ainsi que ce programme est sous licence GPL.
  
 +<file text Message affiché :>
 +
 +Screen version 4.02.01 (GNU) 28-Apr-14
 +
 +Copyright (c) 2010 Juergen Weigert, Sadrul Habib Chowdhury
 +Copyright (c) 2008, 2009 Juergen Weigert, Michael Schroeder, Micah Cowan,
 +Sadrul Habib Chowdhury
 +Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 Juergen Weigert, Michael
 +Schroeder
 +Copyright (c) 1987 Oliver Laumann
 +
 +This program is free software; you can redistribute it and/or modify it under
 +the terms of the GNU General Public License as published by the Free Software
 +Foundation; either version 3, or (at your option) any later version.
 +
 +This program is distributed in the hope that it will be useful, but WITHOUT
 +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 +
 +You should have received a copy of the GNU General Public License along with
 +this program (see the file COPYING); if not, see http://​www.gnu.org/​licenses/,​
 +or contact Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 +Boston, MA  02111-1301 ​ USA.
 +
 +
 +Send bugreports, fixes, enhancements,​ t-shirts, money, beer & pizza to
 +screen-devel@gnu.org
 +
 +
 +Capabilities:​
 ++copy +remote-detach +power-detach +multi-attach +multi-user +font +color-256
 ++utf8 +rxvt +builtin-telnet
 +
 +                  [Press Space or Return to end.]
 +</​file>​
 //​images.debian-facile.org/​file-Ra38c6907fa06d0e4da3bf4c5913dc7f0//​ //​images.debian-facile.org/​file-Ra38c6907fa06d0e4da3bf4c5913dc7f0//​
  
 **Image disparue !** smolski 18/03/2012 **Image disparue !** smolski 18/03/2012
  
-Il ne reste plus qu’à appuyer sur la touche ​: +Il ne reste plus qu’à appuyer sur la touche  
-   ​Espace +<key>Espace</​key>​ 
-ou celle de : +ou sur la touche 
-   ​Entrée+<key>Entrée</​key>​
 pour se retrouver dans la fenêtre de **screen**. pour se retrouver dans la fenêtre de **screen**.
  
Ligne 60: Ligne 95:
 Pour sortir de **screen** rédigez : Pour sortir de **screen** rédigez :
    exit    exit
-ou bien appuyez sur la combinaison des touches clavier ​: +ou bien appuyez sur la combinaison des touches clavier  
-   Ctrl+d+<​key>​C-d</​key>​
  
 //Nous verrons plus loin qu'il existe d'​autres manières de sortir de// **screen**. //Nous verrons plus loin qu'il existe d'​autres manières de sortir de// **screen**.
Ligne 78: Ligne 113:
 == Ctrl+a c == == Ctrl+a c ==
  
-Pour créer une nouvelle fenêtre, il suffit de taper la combinaison de touches ​: +Pour créer une nouvelle fenêtre, il suffit de taper la combinaison de touches  
-   Ctrl+a c+<​key>​C-a-c</​key>​
  
 Il est à noter qu'en plus de créer une nouvelle fenêtre, **screen** nous emmène directement dans celle-ci. \\ Il est à noter qu'en plus de créer une nouvelle fenêtre, **screen** nous emmène directement dans celle-ci. \\
Ligne 87: Ligne 122:
 **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. **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 : +Tapez  
-   Ctrl+a w+<​key>​C-a-w</​key>​
  
 **Résultat** **Résultat**
Ligne 107: Ligne 142:
 Pour se promener entre les différentes fenêtres, il existe quatre solutions : Pour se promener entre les différentes fenêtres, il existe quatre solutions :
  
-== Ctrl+a n ==+Pour aller à la fenêtre suivante  
 +<​key>​C-a-n</​key>​
  
-Pour aller à la fenêtre ​suivante : +pour aller à la fenêtre ​précédente ​ 
-   Ctrl+n+<​key>​C-a-p</​key> ​
  
-== Ctrl+a ​==+== Ctrl+a ​[0 (zéro, le chiffre) - 9]  ​==
  
-pour aller à la fenêtre précédente : +pour naviguer entre les dix fenêtres de screen ​
-   ​Ctrl+a p +
  
-== Ctrl+[(zéro, le chiffre) ​- 9]  ==+<​key>​C-a-0</​key>​ 
 + 
 +<​key>​C-a-1</​key>​ 
 + 
 +... 
 + 
 +<​key>​C-a-9</​key>​
  
-pour naviguer entre les dix fenêtres de screen : 
-   ​Ctrl+a 0 
-   ​Ctrl+a 1 
-   ... 
-   ​Ctrl+a 9  
  
 Au choix. :-) Au choix. :-)
Ligne 129: Ligne 165:
 == Ctrl+a ' (apostrophe) == == Ctrl+a ' (apostrophe) ==
    
-Pour aller dans une des fenêtres par le numéro ​: +Pour aller dans une des fenêtres par le numéro  
-   Ctrl+a ' ​+<​key>​C-a-'</​key>​
  
 Puis, tapez dans le prompt le numéro de la fenêtre que vous désirez atteindre. Puis, tapez dans le prompt le numéro de la fenêtre que vous désirez atteindre.
Ligne 136: Ligne 172:
 == Ctrl+a " (guillemets doubles) == == Ctrl+a " (guillemets doubles) ==
  
-Pour aller dans une des fenêtres visuellement ​: +Pour aller dans une des fenêtres visuellement  
-   Ctrl+a "+<​key>​C-a-"</​key>​
  
 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. 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.
Ligne 145: Ligne 181:
 == Ctrl+a puis shift (flèche pour les majuscules) ' (apostrophe) == == Ctrl+a puis shift (flèche pour les majuscules) ' (apostrophe) ==
  
-Pour avoir la liste des différentes fenêtres ​: +Pour avoir la liste des différentes fenêtres  
-   Ctrl+a shift '+<​key>​C-A-Maj-'</​key>​
  
-Propose la liste des différentes fenêtres, à l'​identique de l'​option ​: +Propose la liste des différentes fenêtres, à l'​identique de l'​option  
-   Ctrl+a w+<​key>​C-a-w</​key>​
  
 ==== Option : -S nommer la session screen ==== ==== Option : -S nommer la session screen ====
Ligne 160: Ligne 196:
 Ceci crée une session screen nommée //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.+Nous pouvons par exemple y lancer une tâche un peu longuette, nous déconnecter ​pendant cette tâche sans l'​arrêter.
  
-  Ctrl+a d+<​key>​C-a-d</​key>​
  
 Pour y revenir, il suffira de taper : Pour y revenir, il suffira de taper :
    ​screen -r user    ​screen -r user
  
-Et vérifier la bonne continuité ou faire cesser la commande qui y aura été lancée précédemment en arrêtant screen par : +Et vérifier la bonne continuité ou faire cesser la commande qui y aura été lancée précédemment en arrêtant screen par  
-   C+d+<​key>​c</​key> ​<key>d</​key>​
  
 ou : ou :
Ligne 180: Ligne 216:
 Et vous y serez de retour directement. Et vous y serez de retour directement.
  
-Si vous avez plusieurs sessions en cours, vous pourrez ensuite en consulter la liste avec : +Si vous avez plusieurs sessions en cours, vous pourrez ensuite en consulter la liste avec  
-   Ctrl+a"+<​key>​C-a-"</​key>​
  
 Comme indiqué dans les options -a Comme indiqué dans les options -a
  
 ===== Ajouter une bare de status ( hardstatus ) ===== ===== Ajouter une bare de status ( hardstatus ) =====
 +
 Une barre de status qui affiche les fenêtres totalement personnalisable;​ Une barre de status qui affiche les fenêtres totalement personnalisable;​
 Ajouter ceci à vote fichier de configuration screen perso : **.screenrc** : Ajouter ceci à vote fichier de configuration screen perso : **.screenrc** :
Ligne 192: Ligne 229:
 hardstatus string '%{= kG}%{C}Screen:​ %{c}%{= kG}[%= %{= kw}%?​%-Lw%?​%{r}(%{W}%n*%f%t%?​(%u)%?​%{r})%{w}%?​%+Lw%?​%?​%= %{g}][%{C} %d-%m %{W}%c %{g}]' hardstatus string '%{= kG}%{C}Screen:​ %{c}%{= kG}[%= %{= kw}%?​%-Lw%?​%{r}(%{W}%n*%f%t%?​(%u)%?​%{r})%{w}%?​%+Lw%?​%?​%= %{g}][%{C} %d-%m %{W}%c %{g}]'
 </​code>​ </​code>​
 +
 +
 +
 +===== Multiutilisateur ! Partager ta console avec une autre personne ! =====
 +
 +
 +Screen permet de partager ton terminal avec un autre utilisateur ( ayant un autre compte dans ton ordi ).
 +Dans cet exemple, **tu es l'​utilisateur nommé %%"​foo"​%%**;​ tu crées une session screen **multiuser** puis tu autorises **ton ami nommé %%"​bar"​%%** à t'y rejoindre. Ici, on autorisera à **bar** uniquement la lecture; il ne pourra pas écrire ou exécuter des commandes dans ton terminal. Il pourra alors  observer ton terminal à distance pour te conseiller, en te laissant le contrôle par sécurité . 
 +
 +<note warning>​L'​utilisation du mode "​multiuser"​ nécessite de modifier les droits de screen en [[doc:​systeme:​chmod|SUID]]root. On l’enlèvera en fin d'​utilisation pour raisons de sécurité</​note>​
 +<code root>
 +chmod u+s /​usr/​bin/​screen ​   #active le droit SUID du programme screen
 +chmod 755 /​var/​run/​screen ​   #autorise, pour l'​utilisateur root uniquement, l'​écriture sur le dossier contenant les sessions screen
 +</​code>​
 +
 +
 +
 +=== création de la session multiuser ===
 +
 +Dans un terminal avec ton compte **foo** :
 +<code user>​screen -S UnScreenPourDeux ​   #Crée une session screen nommée UnScreenPourDeux</​code>​
 +
 +
 +Activation du mode multiuser
 +
 +<​key>​CTRl a</​key><​key>:</​key>''​multiuser on''​
 +
 +
 +Ajoute ton ami **bar** à Liste de Contrôle d'​Accès (ACL)
 +
 +<​key>​CTRL a</​key><​key>:</​key>''​acladd bar''​ ( ou bar le login de ton ami à inviter)
 +
 +
 +Retire (**-**)les droits d'​écriture (**w**rite) et d'​e**x**écution à **bar** pour **toutes les fenêtres** screen ( symbolisées par **#**) et toutes les commandes (**?** représente toute les commandes) pour ta sécurité.
 +
 +<note tip>​Vérifiez bien les commandes suivantes,​car le copier / coller modifie des caractères !</​note>​
 +
 +<​key>​CTRL a</​key><​key>:</​key>''​%%aclchg bar -wx "#?"​%%''​
 +
 +
 +Ajoute à ton ami **bar** les droits d'​exécution (**+x**) des commandes colon //( entrer en mode commande de screen, nécessaire pour les suivantes )//, wall //( envoyer un message aux autres utilisateurs de screen )//, detach //( se détacher de la session, sinon ton ami sera bloqué pour toujours :p )//
 +
 +<​key>​CTRL a</​key><​key>:</​key>''​%%aclchg bar +x "​colon,​wall,​detach"​%%''​
 +
 +
 +
 +=== ton ami bar rejoint la session : ===
 +
 +Au tour de ton ami **bar** de se connecte à distance à ton ordinateur par [[doc:​reseau:​ssh|SSH]] et rejoint ta session existante ( **-x** ), en précisant ton login et le nom de ta session :
 +<code user>​screen -x foo/​UnScreenPourDeux</​code>​
 +
 +Il peut alors voir tout ce que tu fais dans ton terminal pour te conseiller et t'​envoyer des messages avec <​key>​CTRL a</​key><​key>:</​key>''​%%wall "​coucou ;​)"​%%''​
 +
 +<​note>​On pense à retirer le SUID root de screen et remettre les permissions du dossier pour plus de sécurité après utilisation du mode multiuser</​note>​
 +
 +<code root>
 +chmod u-s /​usr/​bin/​screen
 +chmod 775 /​var/​run/​screen
 +</​code>​
 +
 +Doc multiuser de screen : [[https://​www.gnu.org/​software/​screen/​manual/​html_node/​Multiuser-Session.html#​Multiuser-Session]]
 +
 +
  
  
Ligne 197: Ligne 297:
  
   * http://​doc.ubuntu-fr.org/​screen   * http://​doc.ubuntu-fr.org/​screen
-  * http://​www.daviddallet.com/​weblog/​posts/​2008/​10/​27/​screen-ssh-et-autres-joies/​+  * %%http://​www.daviddallet.com/​weblog/​posts/​2008/​10/​27/​screen-ssh-et-autres-joies/​%% - Lien Obsolète
   * http://​ftp.traduc.org/​doc-vf/​gazette-linux/​html/​2008/​147/​lg147-A.html#​commandes   * http://​ftp.traduc.org/​doc-vf/​gazette-linux/​html/​2008/​147/​lg147-A.html#​commandes
  
doc/autres/screen.1440343644.txt.gz · Dernière modification: 23/08/2015 17:27 par milou

Pied de page des forums

Propulsé par FluxBB