User Tools

Site Tools


informatique:logiciels:screen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:logiciels:screen [2013/10/14 20:45] – modification externe 127.0.0.1informatique:logiciels:screen [2020/10/25 15:16] pteu
Line 1: Line 1:
-{{tag>utilitaire système session}} +======Screen======
- +
-======SCREEN======+
  
 =====Présentation===== =====Présentation=====
Line 8: Line 6:
  
 //NB : Il existe une version améliorée de screen (avec un menu de configuration notamment) nommée byobu.// //NB : Il existe une version améliorée de screen (avec un menu de configuration notamment) nommée byobu.//
- 
- 
-=====Configuration===== 
- 
-Le fichier de configuration se nomme ''.screenrc'', que l'on peut placer dans ''/etc'' ou ''~''. 
- 
-Pour afficher une barre de statut : 
- 
-  hardstatus alwayslastline "%d/%m/%Y [%c] | %w" 
- 
-Pour éviter le message au lancement : 
- 
-  startup_message off 
  
  
Line 43: Line 28:
 On récupère ainsi l'état dans lequel on l'avait laissé. On récupère ainsi l'état dans lequel on l'avait laissé.
  
-On peut également **c**réer d'autres terminaux virtuels ; quand on est dans screen, faire un ''ctrl+a'' et ''c''. On passe alors de l'un à l'autre avec ''ctrl+a'' et ''n'' (**n**ext) ou encore ''ctrl+a'' et ''p'' (**p**revious). ''ctrl+a'' ''ctrl+a'' permet de revenir à l'ancien terminal virtuel.+On peut également **c**réer d'autres terminaux virtuels ; quand on est dans screen, faire un ''ctrl+a'' et ''c''. On passe alors de l'un à l'autre avec ''ctrl+a'' et ''n'' (**n**ext) ou encore ''ctrl+a'' et ''p'' (**p**revious). ''ctrl+a'' ''ctrl+a'' permet de revenir à l'ancien terminal virtuel. Pour fermer une session screen : ''Ctrl+a d'' (detach).
  
-On peut aussi partager un terminal il faut créer un ''screen'', puis quelqu'un d'autre se rattache dessus avec un ''screen -x''+Pour la rejoindre plus tard : ''screen -x'' ou ''screen -r''. S'il en existe plusieurs, ''screen -r'' affichera la liste et il faudra ajouter l'ID de la session à la suite : 
-On utilise cette fonctionnalité avec un utilisateur distant connecté en SSH par exemple.+<code bash> 
 +screen -r 
 +There are several suitable screens on: 
 +     314..soekris-01 (Detached) 
 +     9364..soekris-01        (Detached) 
 +Type "screen [-d] -r [pid.]tty.host" to resume one of them.
  
-On peut lancer plusieurs screen à la fois ; pour se rattacher à l'un d'entre eux on utilise la syntaxe :+screen -r 314..soekris-01 
 +</code>
  
-  screen -r +Sinon, pour simplement lister les sessions existantes ''screen -ls''
-   There are several suitable screens on: +
-        314..soekris-01 (Detached) +
-        9364..soekris-01        (Detached) +
-   Type "screen [-d] -r [pid.]tty.host" to resume one of them. +
-  screen -r 314..soekris-01+
  
 Pour lancer un script dans un screen au démarrage par exemple, on utilise : Pour lancer un script dans un screen au démarrage par exemple, on utilise :
Line 66: Line 52:
 =====Combinaisons de touches===== =====Combinaisons de touches=====
  
-Une fois screen lancéon utilise la combinaison de touche ''ctrl+a'' suivie de :+Pour afficher les raccourcis courantsqui sont modifiables et dépendent de la version de screen, appuyer sur la touche de préfixe ''Ctrl+a'' suivie de ''?''.
  
-  * c : pour créer un nouveau terminal +Une fois screen lancé : 
-  * k : killer le terminal courant (une confirmation vous est demandée (y/n)) + 
-  * n : se déplacer vers le terminal suivant +  ''c'' **c**réer une nouvelle fenêtre (nouveau terminal) 
-  * p : se déplacer vers le terminal précédent +  * ''k''**k**iller le terminal courant (une confirmation vous est demandée (y/n)) 
-  * <n> : se déplacer vers le terminal <n>,  avec <n> son numéro (0, 1, ...) +  * ''n'' (**n**ext) : se déplacer vers le terminal suivant 
-  * " : voir la liste des terminaux ouverts (on peut en sélectionner un façon "selectbox" en HTML) +  * ''p'' (**p**revious) : se déplacer vers le terminal précédent 
-  * ctrl+a : se délacer vers le dernier terminal consulté +  * ''<nb>'' : se déplacer vers le terminal <nb>,  avec <nb> son numéro (0, 1, ...) 
-  * A : pour renommer le titre du terminal courant +  * ''"'' : voir la liste des terminaux ouverts 
-  * ctrl+x : verrouiller la session screen. En fonction de votre implémentation de screen :+  * ''ctrl+a'' sélectionner la dernière fenêtre consultée 
 +  * ''Ctrl+<space>'' : sélectionner la prochaine fenêtre 
 +  * ''A'' : pour renommer le titre du terminal courant 
 +  * ''ctrl+x'' : verrouiller la session screen. En fonction de votre implémentation de screen :
     * soit le mdp de votre utilisateur vous sera demandé pour rouvrir la session (e.g. sous Debian);     * soit le mdp de votre utilisateur vous sera demandé pour rouvrir la session (e.g. sous Debian);
     * soit il demande un mdp avant de la verrouiller, qu'il faudra redonner pour la rouvrir (e.g. sous macOSX)     * soit il demande un mdp avant de la verrouiller, qu'il faudra redonner pour la rouvrir (e.g. sous macOSX)
 +  * ''F'' : rafraîchir la fenêtre
  
  
-=====Annexes=====+=====Diviser la fenêtre (split)=====
  
-====Ma conf====+Plutôt que d'avoir un terminal par écran, on peut agencer l'affichage des terminaux en divisant l'écran en panneaux/régions, pour en afficher plusieurs ; mais tous les terminaux sont accessibles dans chaque panneau. 
 + 
 +Pour diviser la fenêtre : ''Ctrl+a'' suivi de : 
 +  * ''S'' pour diviser l'écran horizontalement 
 +  * ''|'' pour diviser l'écran verticalement 
 + 
 +Autres raccourcis liés au split : 
 +  * ''X'' : fermer le panneau (split) courant 
 +  * ''<tab>'' pour passer de l'un à l'autre panneau 
 +  * ''q'' : afficher les numéros sur chaque panneau 
 + 
 + 
 +=====Configuration===== 
 + 
 +Le fichier de configuration se nomme ''.screenrc'', que l'on peut placer dans ''/etc'' ou ''~''
 + 
 +Pour afficher une barre de statut : 
 + 
 +  hardstatus alwayslastline "%d/%m/%Y [%c] | %w" 
 + 
 +Pour éviter le message au lancement :
  
-  # /etc/screenrc 
   startup_message off   startup_message off
-  deflogin on 
-  vbell on 
-  vbell_msg "   Wuff  ----  Wuff!!  " 
-  defscrollback 1024 
-  bind ^k 
-  bind ^\ 
-  bind \\ quit 
-  bind K kill 
-  bind I login on 
-  bind O login off 
-  bind } history 
-  termcapinfo vt100 dl=5\E[M 
-  hardstatus off 
-  termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 
-  hardstatus alwayslastline "%-w%{.BW}%n %t%{-}%+w %= %l | %d/%m/%y %c" 
-  termcapinfo xterm*|linux*|rxvt*|Eterm* OP 
-  termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' 
  
 +=====Annexes=====
 +
 +====Exemple de template====
 +
 +<code bash>
 +# /etc/screenrc
 +startup_message off
 +deflogin on
 +vbell on
 +vbell_msg "   Wuff  ----  Wuff!!  "
 +defscrollback 1024
 +bind ^k
 +bind ^\
 +bind \\ quit
 +bind K kill
 +bind I login on
 +bind O login off
 +bind } history
 +termcapinfo vt100 dl=5\E[M
 +hardstatus off
 +termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007
 +hardstatus alwayslastline "%-w%{.BW}%n %t%{-}%+w %= %l | %d/%m/%y %c"
 +termcapinfo xterm*|linux*|rxvt*|Eterm* OP
 +termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
 +
 +# ~/.screenrc
 +defscrollback 4096
 +startup_message off
 +caption always "%{bw}%H%{g} |%c %{y}%d.%m.%Y%{k} | %?%-Lw%?%{+b wk}%n*%f %t%?(%u)%?%{-b kw}%?%+Lw%? | %{-b rw} Load: %l %{k}"
 +</code>
informatique/logiciels/screen.txt · Last modified: 2020/12/03 10:11 by pteu