debian:screen

Installation du paquet:

  apt-get install screen 
  

Résumé

screen -x

 
 les commandes screen à partir de la console:  
 
 screen			// Lance un screen
 screen -r			// Reprends un screen détaché
 screen -d			// Force le détachement d'un screen en cas de plantage pour en reprendre le contrôle
 screen -ls			// Affiche la liste des screen mère 

Commandes à partir d’une console screen:

 CTRL+A puis C = créer une nouvelle console screen
 CTRL+A puis N = passer à la console screen suivante
 CTRL+A puis P = passer à la console screen précédente
 CTRL+A puis D = Détacher le screen et revenir sur la console classique
 CTRL+D = fermer une console screen. Lorsqu’il n’y a plus qu’une seule console, ça quitte screen. 

TIPS

# terminal 1

 $ screen -S moi 
 # terminal 2
 $ screen -x moi 

Reglage du problème de droit si non root.

```

# terminal 1
$ screen -S moi 
# terminal 2
$ su -
$ chmod a+rw `tty`
$ su - monami
$ screen -x moi 

```

Ce qui est bien, mais pas top. Faisons donc les choses dans l'autre sens, c'est la personne dans le terminal 1 qui accordera à celle de terminal 2 le droit de lire son terminal. Pour cela, il faut que screen soit setuid root. C'est un risque, si un utilisateur trouve une faille dans screen, peut-être qu'il pourra devenir root.

$ chmod +s /usr/bin/screen

Attention, si screen est setuid root, la variable SCREENDIR ne fonctionnera plus. <em class=“u”> Mettons donc le maître sur le terminal1. </em>

# terminal 1

 $ screen -S moi
 

Ctrl-a :multiuser on Ctrl-a :addacl user2

# terminal 2

$ screen -x user1/moi 


Maintenant vous voulez que l'utilisateur qui vous espionne ne puisse pas interagir avec votre ligne de commande (si vous voulez jouer au prof avec votre chat). Il suffit simplement de lui retirer les droits qui sont activés par défaut.  Ctrl-a :chacl user2 -wx "#?" 

Notez que vous pouvez mettre ces commandes dans votre .screenrc : multiuser on addacl user2 # cette commande ne fonctionne pas dans le sceenrc chacl user2 -wx “#?”

Utilisation

Une fois l'installation complétée, vous pouvez commencer à utiliser screen. <strong> Screen </strong> - Ouvrir Pour lancer screen dans une Console (ou un Terminal), il suffit de rédiger la commande : $ screen 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. <strong> Screen </strong> - Quitter Pour sortir de screen rédigez : exit ou bien appuyez sur la combinaison des touches clavier : Ctrl+d 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 - 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. Ctrl+a w <strong> Résultat </strong> 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) <strong> Signification </strong> Nous avons tout simplement demandé à screen de nous dire où nous étions, et il nous a répondu … à sa façon. <em class=“u”> Chaque fenêtre de screen a : </em> 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 Pour aller à la fenêtre suivante : Ctrl+a n

Ctrl+a p 

pour aller à la fenêtre précédente : Ctrl+a p

Ctrl+a [0 (zéro, le chiffre) - 9] 

pour naviguer entre les dix fenêtres de screen : Ctrl+a 0 Ctrl+a 1 … Ctrl+a 9 Au choix. :-) Ctrl+a ' (apostrophe) Pour aller dans une des fenêtres par le numéro : Ctrl+a ' Puis, tapez dans le prompt le numéro de la fenêtre que vous désirez atteindre. Ctrl+a “ (guillemets doubles) Pour aller dans une des fenêtres visuellement : 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) Pour avoir la liste des différentes fenêtres : Ctrl+a shift ' Propose la liste des différentes fenêtres, à l'identique de l'option : Ctrl+a w Option : -S nommer la session screen 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. Ctrl+a d Pour y revenir, il suffira de taper : 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 : C+d ou : exit Option : -r Pour revenir à une session que vous avez ouverte et laissé active : screen -r Et vous y serez de retour directement. Si vous avez plusieurs sessions en cours, vous pourrez ensuite en consulter la liste avec : Ctrl+a” Comme indiqué dans les options -a </div>

  • debian/screen.txt
  • Dernière modification : 2022/11/08 16:43
  • de 127.0.0.1