Outils pour utilisateurs

Outils du site


linux:screen (lu 62567 fois)

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
linux:screen [25-02-2012 22:39]
edmc73 Page moved from linux:edmc73:linux:edmc73:screen to edmc73:linux:screen
linux:screen [11-02-2019 15:59] (Version actuelle)
edmc73 [Personnaliser]
Ligne 1: Ligne 1:
 +====== Screen ======
  
 +Toute la doc -> http://durak.org/sean/pubs/software/screen/screen.html
  
 +===== Partager un screen à plusieurs =====
  
-A pofiner lol+Créer une session screen avec la commande 
 +  screen -S toto
  
 +La 2ème personne tape la commande suivante
 +  screen -x toto
  
-J'ai fait un test avec screen et ca déchire +Maintenant les 2 personnes sont sur la même console interactivement 
  
-genre moi je tape : screen -S toto 
  
-toi tu tapes screen -x toto+===== Screen simplement =====
  
-et hopon est tous les 2 sur la même console interactivement +Pour créer un screen, tapez  
 +  screen 
 +   
 +Lancez vos taches puis sortir de screen sans le fermer tapez 
 +  Ctrl+a puis d 
 +   
 +Un Ctrl+d supprimera la fenêtre et killera la session screen. 
 +   
 +Pour le récupérer plus tard lors d'une autre session sshtapez 
 +  screen -r 
 +   
 +Pour lister les screen 
 +  screen -ls 
 +   
 +===== En cas de plantage ou déconnexion involontaire =====
  
-tester !!!+Si vous vous êtes fait déconnecter pour n'importe quel raison, lorsque vous reviendrez sur votre serveur, la commande **screen -r** affichera quelque chose comme ça 
 +<code>:~$ screen -r 
 +There is a screen on: 
 +        2453.pts-4.MonServer    (25/05/2013 23:18:02)   (Attached) 
 +There is no screen to be resumed.</code> 
 + 
 +Pas de panique, tapez la commande 
 +  screen -d 
 +qui permet de détacher les screen actuellement attaché. Ensuite reprenez les vieilles habitude en tapant 
 +  screen -r 
 + 
 + 
 +===== les raccourcis clavier ===== 
 + 
 +Tout se fait avec Ctrl+a puis lachez tout et tapez une touche. 
 + 
 +La liste des touches est dans l'aide en faisant  
 +  Ctrl+a puis ? 
 + 
 +Les principales commandes de screen 
 + 
 +Je ne connais pas toutes les commandes, mais je vais vous en présenter les principales, celles qui selon moi peuvent vous être utiles. 
 + 
 +créer une nouvelle « fenêtre » 
 +  Ctrl + a puis c 
 + 
 + 
 +afficher la liste des « fenêtres » actuellement ouvertes. En bas de l'écran vous verrez par exemple apparaître : 0-$ bash  1*$ bash. Cela signifie que vous avez deux fenêtres ouvertes, l'une numérotée 0, l'autre 1. Celle sur laquelle vous vous trouvez actuellement contient une étoile * (on se trouve donc ici dans la fenêtre n° 1). 
 +  Ctrl + a puis w 
 +   
 +renommer la fenêtre actuelle. Ce nom apparaît lorsque vous affichez la liste des fenêtres avec Ctrl + a puis w. 
 +  Ctrl + a puis A 
 + 
 +passer à la fenêtre suivante (next). 
 +  Ctrl + a puis n 
 + 
 +passer à la fenêtre précédente (previous). 
 +  Ctrl + a puis p 
 + 
 +revenir à la dernière fenêtre utilisée 
 +  Ctrl + a puis Ctrl + a. 
 + 
 +passer à la fenêtre n° X. 
 +  Ctrl + a puis un chiffre de 0 à 9 
 + 
 +choisir la fenêtre dans laquelle on veut aller. 
 +  Ctrl + a puis " 
 + 
 +fermer la fenêtre actuelle (kill). 
 +  Ctrl + a puis k 
 + 
 + 
 +Invite de commande scree 
 +  Ctrl+a puis : 
 +   
 +===== Splitter ===== 
 + 
 +Pour avoir plusieurs fenêtre en même temps horizontalement, faites la combinaison 
 +  Ctrl+a puis S 
 +   
 +Verticalement 
 +  Ctrl+a puis | 
 + 
 +Naviguer avec 
 +  Ctrl+a puis TAB 
 + 
 +Fermer une fenêtre avec 
 +  Ctrl+a puis X 
 +ou 
 +  Ctrl+a puis Q 
 +   
 +===== Scroll ===== 
 + 
 +Pour remonter dans l'historique de la console, il faut se mettre en mode copy 
 +  Ctrl+a Echap 
 +   
 +A partir de la, utilisez les flèches, les page up et page down, vous pouvez même faire une recherche comme dans **less** **vim** ou encore **aptitude** en tapant 
 +  / suivi du mot que vous recherchez 
 +Ensuite tapez **n** pour accéder à l’occurrence suivante ou **N** pour accéder à l'occurrence précédente. 
 + 
 +Tapez **Echap** pour sortir de ce mode 
 + 
 +===== Personnaliser ===== 
 + 
 +On peut personnaliser screen soit dans le fichier /etc/screenrc pour appliquer à tout le serveur soit dans son home/.screenrc 
 + 
 +Vous pouvez télécharger un fichier tout fait 
 + 
 +http://uploads.siteduzero.com/ftp/mateo21/linux/.screenrc 
 + 
 +<file bash screenrc> 
 +#shell /bin/zsh 
 +# config de screen par bennyben 
 +# raccourcis avec Ctrl-x puis une touche 
 +# ou alors Ctrl-meta-une touche, voire Shirt-Ctrl-Meta 
 + 
 +# $Id: screenrc,v 1.8 2002/03/20 22:20:21 laz Exp $ 
 +
 +# /etc/screenrc 
 +
 +#   This is the system wide screenrc. 
 +
 +#   You can use this file to change the default behavior of screen system wide 
 +#   or copy it to ~/.screenrc and use it as a starting point for your own 
 +#   settings. 
 +
 +#   Commands in this file are used to set options, bind screen functions to 
 +#   keys, redefine terminal capabilities, and to automatically establish one or 
 +#   more windows at the beginning of your screen session. 
 +
 +#   This is not a comprehensive list of options, look at the screen manual for 
 +#   details on everything that you can put in this file. 
 +
 + 
 +# ------------------------------------------------------------------------------ 
 +# SCREEN SETTINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +startup_message off 
 +#nethack on 
 + 
 +#defflow on # will force screen to process ^S/^Q 
 +deflogin on 
 +autodetach on 
 + 
 +# turn visual bell on 
 +vbell on 
 +vbell_msg "   Wuff  ----  Wuff!!  " 
 + 
 +# define a bigger scrollback, default is 100 lines 
 +defscrollback 1024 
 + 
 +# ------------------------------------------------------------------------------ 
 +# SCREEN KEYBINDINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# Remove some stupid / dangerous key bindings 
 +#bind '^k' 
 +#bind 'L' 
 +#bind '^\' 
 +# Make them better 
 +#bind '\\' quit 
 +#bind 'K' kill 
 +#bind 'I' login on 
 +#bind 'O' login off 
 +#bind '}' history 
 + 
 +#bind 'R' colon "screen -ln rlogin faui -8^b^b^b" 
 +#bind 'P' colon "^p" 
 + 
 +# escape "" 
 +#escape "^xx" 
 +#bindkey \033^b break 
 +
 +
 + # ctrl-meta-insert 
 +
 +#bindkey \033^V digraph 
 +#bindkey \033^. dumptermcap 
 +#bindkey \033^F fit 
 +#bindkey \033^f flow 
 +#bindkey \033^I focus 
 +#bindkey \033^h hardcopy 
 + 
 +#bindkey \033^{ history 
 +#bindkey \033^i info 
 +#bindkey \033^m lastmsg 
 +#bindkey \033^, license 
 +#bindkey \033^H log 
 +#bindkey \033^L login 
 +#bindkey \033^M monitor 
 +#bindkey \033^n next 
 + 
 +#bindkey \033^N number 
 +#bindkey \033^Q only 
 +#bindkey \033^X other 
 +#bindkey \033^B pow_break 
 +#bindkey \033^D pow_detach 
 +#bindkey \033^\ quit 
 +#bindkey \033^< readbuf 
 +#bindkey \033^l redisplay 
 +#bindkey \033^X remove 
 +#bindkey \033^= removebuf 
 +#bindkey \033^Z reset 
 +#bindkey \033^' select 
 +#bindkey \033^_ silence 
 +#bindkey \033^S split 
 +#bindkey \033^z suspend 
 +#bindkey \033^t time 
 +#bindkey \033^A title 
 +#bindkey \033^G vbell 
 +#bindkey \033^v version 
 +#bindkey \033^W width 
 +#bindkey \033^r wrap 
 +#bindkey \033^> writebuf 
 +#bindkey \033^s xoff 
 +#bindkey \033^q xon 
 + 
 +#bindkey \033^x next 
 +#bindkey \033^w prev 
 +#bindkey \033^n next 
 +#bindkey \033^p prev 
 +#bindkey \033^c screen 
 +#bindkey \033^d detach 
 +#bindkey \033: colon 
 +#bindkey \033? help 
 +#bindkey \033^l clear 
 +#bindkey \033² displays 
 +#bindkey \033^P hardcopy 
 +#bindkey \033^k kill 
 +#bindkey \033^L log 
 +#bindkey \033^m monitor 
 +#bindkey \033ù silence 
 +#bindkey \033^t title 
 +#bindkey \033^S split 
 +#bindkey \033^f fit 
 +#bindkey \033^q xon 
 +#bindkey \033^s xoff 
 +#bindkey \033\033[2\^ copy 
 +#bindkey \033^k digraph 
 +#bindkey \033^a focus up 
 +#bindkey \033^z focus down 
 +#bindkey \033* lockscreen 
 + 
 +# An example of a "screen scraper" which will launch urlview on the current 
 +# screen window 
 +
 +#bind ^B eval "hardcopy_append off" "hardcopy -h $HOME/.screen-urlview" "screen urlview $HOME/.screen-urlview" 
 + 
 +# on Debian backspace should send char `\177': 
 +bindkey -k kb stuff "\177" 
 + 
 +# ------------------------------------------------------------------------------ 
 +# TERMINAL SETTINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# The vt100 description does not mention "dl". *sigh* 
 +termcapinfo vt100 dl=5\E[M 
 + 
 +# turn sending of screen messages to hardstatus off 
 +#hardstatus off 
 +hardstatus on 
 +# Set the hardstatus prop on gui terms to set the titlebar/icon title 
 +termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 
 +# use this for the hard status string 
 +#hardstatus string "%h%? users: %u%?" 
 + 
 +# An alternative hardstatus to display a bar at the bottom listing the 
 +# windownames and highlighting the current windowname in blue. (This is only 
 +# enabled if there is no hardstatus setting for your terminal) 
 +
 +#hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" 
 +#  version d'avant, allégée avec seulement les window en cours et celle courante en jaune 
 +#  et fond bleu 
 +#hardstatus alwayslastline "%{= BY}%-Lw%{= YB}%50>%n%f* %t%{= BY}%+Lw%<" 
 +# nouvelle version : 
 +# heure (avec secondes), nom de la machine en rouge, load de la machine 
 +# puis fenetres avec celle courante en jaune, le tout en fond bleu 
 +hardstatus alwayslastline "%{b kB}%{s gB}%c:%s%{b kB} %{b kR}%H %{b kB}%{s yB}%l%{b kB} %{b kB}%{rs Y}%-Lw%{BY}%50>%n%{R}%f%{B} %t%{YB}%+Lw%<" 
 + 
 +# set these terminals up to be 'optimal' instead of vt100 
 +termcapinfo xterm*|linux*|rxvt*|Eterm* OP 
 + 
 +# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E> 
 +# (This fixes the "Aborted because of window size change" konsole symptoms found 
 +#  in bug #134198) 
 +termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' 
 + 
 +termcapinfo xterm*|linux*|rxvt*|Eterm* ti@:te@ 
 + 
 +# Do not use xterms alternate window buffer (won't add lines to scrollback bfr) 
 +#termcapinfo xterm|xterms|xs ti=\E7\E[?47l 
 + 
 +# ------------------------------------------------------------------------------ 
 +# STARTUP SCREENS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# Example of automatically running some programs in windows on screen startup. 
 +
 +#   The following will open top in the first window, an ssh session to monkey 
 +#   in the next window, and then open mutt and tail in windows 8 and 9 
 +#   respectively. 
 +
 +# screen top 
 +# screen -t monkey ssh monkey 
 +# screen -t mail 8 mutt 
 +# screen -t daemon 9 tail -f /var/log/daemon.log 
 + 
 +sorendition =s WB  
 +msgwait 3 
 +bell "^GBell in window %" 
 + 
 +</file> 
 + 
 +Une variante intéressante qui permet de scroller avec la souris plutot que le Ctrl+A+Esc ... 
 +<file bash screenrc> 
 +# $Id: screenrc,v 1.15 2003/10/08 11:39:03 zal Exp $ 
 +
 +# /etc/screenrc 
 +
 +#   This is the system wide screenrc. 
 +
 +#   You can use this file to change the default behavior of screen system wide 
 +#   or copy it to ~/.screenrc and use it as a starting point for your own 
 +#   settings. 
 +
 +#   Commands in this file are used to set options, bind screen functions to 
 +#   keys, redefine terminal capabilities, and to automatically establish one or 
 +#   more windows at the beginning of your screen session. 
 +
 +#   This is not a comprehensive list of options, look at the screen manual for 
 +#   details on everything that you can put in this file. 
 +
 + 
 +# ------------------------------------------------------------------------------ 
 +# SCREEN SETTINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +startup_message off 
 +#nethack on 
 + 
 +#defflow on # will force screen to process ^S/^Q 
 +deflogin on 
 +autodetach on 
 + 
 +# turn visual bell on 
 +vbell on 
 +vbell_msg "   Wuff  ----  Wuff!! 
 + 
 +# define a bigger scrollback, default is 100 lines 
 +defscrollback 10000 
 + 
 +# ------------------------------------------------------------------------------ 
 +# SCREEN KEYBINDINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# Remove some stupid / dangerous key bindings 
 +bind ^k 
 +#bind L 
 +bind ^\ 
 +# Make them better 
 +bind \\ quit 
 +bind K kill 
 +bind I login on 
 +bind O login off 
 +bind } history 
 + 
 +# An example of a "screen scraper" which will launch urlview on the current 
 +# screen window 
 +
 +#bind ^B eval "hardcopy_append off" "hardcopy -h $HOME/.screen-urlview" "screen urlview $HOME/.screen-urlview" 
 + 
 +# ------------------------------------------------------------------------------ 
 +# TERMINAL SETTINGS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# The vt100 description does not mention "dl". *sigh* 
 +termcapinfo vt100 dl=5\E[M 
 + 
 +# turn sending of screen messages to hardstatus off 
 +hardstatus on 
 +# Set the hardstatus prop on gui terms to set the titlebar/icon title 
 +termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 
 + 
 +# use this for the hard status string 
 +#hardstatus string "%h%? users: %u%?" 
 + 
 +# An alternative hardstatus to display a bar at the bottom listing the 
 +# windownames and highlighting the current windowname in blue. (This is only 
 +# enabled if there is no hardstatus setting for your terminal) 
 +
 +#hardstatus lastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" 
 +#hardstatus alwayslastline "%{b kB}%{s gB}%c:%s%{b kB} %{b kR}%H %{b kB}%{s yB}%l%{b kB} %{b kB}%{rs Y}%-Lw%{BY}%50>%n%{R}%f%{B} %t%{YB}%+Lw%<" 
 +hardstatus alwayslastline 
 +#hardstatus string '%{= G}[%{g}host:%{G}%H]%{g}[%= %{= w}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][load:%{R}%l%{g}][%{c}%m-%d~%{C}%c:%s%{g}]' 
 +hardstatus string "%{= KW} %H [%{b k}%l%{-}] %{= Kw}|%{-} %-Lw%{= bW}%n%f %t%{-}%+Lw %=%{c}%d-%M %{C}%c:%s" 
 + 
 +# set these terminals up to be 'optimal' instead of vt100 
 +termcapinfo xterm*|linux*|rxvt*|Eterm* OP 
 + 
 +# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E> 
 +# (This fixes the "Aborted because of window size change" konsole symptoms found 
 +#  in bug #134198) 
 +termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' 
 + 
 +# To get screen to add lines to xterm's scrollback buffer, uncomment the 
 +# following termcapinfo line which tells xterm to use the normal screen buffer 
 +# (which has scrollback), not the alternate screen buffer. 
 +
 +termcapinfo xterm*|xterms|xs|rxvt ti@:te@ 
 + 
 +# Enable non-blocking mode to better cope with flaky ssh connections. 
 +defnonblock 5 
 + 
 +# ------------------------------------------------------------------------------ 
 +# STARTUP SCREENS 
 +# ------------------------------------------------------------------------------ 
 + 
 +# Example of automatically running some programs in windows on screen startup. 
 +
 +#   The following will open top in the first window, an ssh session to monkey 
 +#   in the next window, and then open mutt and tail in windows 8 and 9 
 +#   respectively. 
 +
 +# screen top 
 +# screen -t monkey ssh monkey 
 +# screen -t mail 8 mutt 
 +# screen -t daemon 9 tail -f /var/log/daemon.log 
 + 
 +</file> 
 +===== Lancer en ligne de commande ===== 
 + 
 +Pour créer un screen  
 +  screen -A -d -m -S nom_de_la_session -t nom_de_la_fenetre commande_que_vous_voulez_lancer 
 + 
 +Pour ajouter une fenêtre dans la session que vous avez créé avant 
 +  screen -S nom_de_la_session -X screen -t nom_de_la_nouvelle_fenetre commande_que_vous_voulez_lancer 
 + 
 +===== Renommer une session ===== 
 +Pour afficher les sessions 
 +  screen -ls 
 +Pour modifier le nom 
 +  screen -S nom_session -X sessionname nouveau_nom_session 
 + 
 + 
 +===== Alternative ===== 
 + 
 +  * Byobu : http://byobu.co/ 
 +  * tmux : https://doc.ubuntu-fr.org/tmux
  
linux/screen.1330205983.txt.gz · Dernière modification: 04-04-2013 22:05 (modification externe)