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 | ||
linux:screen [25-02-2012 22:32] edmc73 Page moved from linux:screen to linux:edmc73:linux:screen |
linux:screen [28-01-2025 11:16] (Version actuelle) edmc73 [Alternative] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Screen ====== | ||
+ | Toute la doc -> http:// | ||
+ | ===== 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 hop, on 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 | ||
+ | |||
+ | Pour le récupérer plus tard lors d'une autre session ssh, tapez | ||
+ | screen -r | ||
+ | |||
+ | Pour lister | ||
+ | screen -ls | ||
+ | |||
+ | ===== En cas de plantage ou déconnexion involontaire ===== | ||
- | A tester | + | Si vous vous êtes fait déconnecter pour n' |
+ | < | ||
+ | There is a screen on: | ||
+ | 2453.pts-4.MonServer | ||
+ | There is no screen to be resumed.</ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | créer une nouvelle « fenêtre » | ||
+ | Ctrl + a puis c | ||
+ | |||
+ | |||
+ | afficher la liste des « fenêtres » actuellement ouvertes. En bas de l' | ||
+ | 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, | ||
+ | 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' | ||
+ | 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' | ||
+ | |||
+ | Tapez **Echap** pour sortir de ce mode | ||
+ | |||
+ | ===== Personnaliser ===== | ||
+ | |||
+ | On peut personnaliser screen soit dans le fichier / | ||
+ | |||
+ | Vous pouvez télécharger un fichier tout fait | ||
+ | |||
+ | http:// | ||
+ | |||
+ | <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 $ | ||
+ | # | ||
+ | # / | ||
+ | # | ||
+ | # 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 | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # keys, redefine terminal capabilities, | ||
+ | # more windows at the beginning of your screen session. | ||
+ | # | ||
+ | # This is not a comprehensive list of options, look at the screen manual for | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # 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 " | ||
+ | |||
+ | # define a bigger scrollback, default is 100 lines | ||
+ | defscrollback 1024 | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # SCREEN KEYBINDINGS | ||
+ | # ------------------------------------------------------------------------------ | ||
+ | |||
+ | # Remove some stupid / dangerous key bindings | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | # Make them better | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | #bind ' | ||
+ | |||
+ | #bind ' | ||
+ | #bind ' | ||
+ | |||
+ | # escape " | ||
+ | #escape " | ||
+ | #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 window | ||
+ | # | ||
+ | #bind ^B eval " | ||
+ | |||
+ | # on Debian backspace should send char `\177': | ||
+ | bindkey -k kb stuff " | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # TERMINAL SETTINGS | ||
+ | # ------------------------------------------------------------------------------ | ||
+ | |||
+ | # The vt100 description does not mention " | ||
+ | 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/ | ||
+ | termcapinfo xterm*|rxvt*|kterm*|Eterm* hs: | ||
+ | # 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 " | ||
+ | # version d' | ||
+ | # et fond bleu | ||
+ | #hardstatus alwayslastline "%{= BY}%-Lw%{= YB}%50> | ||
+ | # 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> | ||
+ | |||
+ | # set these terminals up to be ' | ||
+ | termcapinfo xterm*|linux*|rxvt*|Eterm* OP | ||
+ | |||
+ | # Change the xterm initialization string from is2=\E[!p\E[? | ||
+ | # (This fixes the " | ||
+ | # in bug #134198) | ||
+ | termcapinfo xterm ' | ||
+ | |||
+ | termcapinfo xterm*|linux*|rxvt*|Eterm* ti@:te@ | ||
+ | |||
+ | # Do not use xterms alternate window buffer (won't add lines to scrollback bfr) | ||
+ | # | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # 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 | ||
+ | # | ||
+ | # | ||
+ | # screen top | ||
+ | # screen -t monkey ssh monkey | ||
+ | # screen -t mail 8 mutt | ||
+ | # screen -t daemon 9 tail -f / | ||
+ | |||
+ | sorendition =s WB | ||
+ | msgwait 3 | ||
+ | bell " | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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 $ | ||
+ | # | ||
+ | # / | ||
+ | # | ||
+ | # 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 | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # keys, redefine terminal capabilities, | ||
+ | # more windows at the beginning of your screen session. | ||
+ | # | ||
+ | # This is not a comprehensive list of options, look at the screen manual for | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # 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 " | ||
+ | |||
+ | # 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 window | ||
+ | # | ||
+ | #bind ^B eval " | ||
+ | |||
+ | # ------------------------------------------------------------------------------ | ||
+ | # TERMINAL SETTINGS | ||
+ | # ------------------------------------------------------------------------------ | ||
+ | |||
+ | # The vt100 description does not mention " | ||
+ | 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/ | ||
+ | termcapinfo xterm*|rxvt*|kterm*|Eterm* hs: | ||
+ | |||
+ | # 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 " | ||
+ | #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> | ||
+ | hardstatus alwayslastline | ||
+ | #hardstatus string '%{= G}[%{g}host: | ||
+ | hardstatus string "%{= KW} %H [%{b k}%l%{-}] %{= Kw}|%{-} %-Lw%{= bW}%n%f %t%{-}%+Lw %=%{c}%d-%M %{C}%c: | ||
+ | |||
+ | # set these terminals up to be ' | ||
+ | termcapinfo xterm*|linux*|rxvt*|Eterm* OP | ||
+ | |||
+ | # Change the xterm initialization string from is2=\E[!p\E[? | ||
+ | # (This fixes the " | ||
+ | # in bug #134198) | ||
+ | termcapinfo xterm* ' | ||
+ | |||
+ | # To get screen to add lines to xterm' | ||
+ | # following termcapinfo line which tells xterm to use the normal screen buffer | ||
+ | # (which has scrollback), | ||
+ | # | ||
+ | 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 | ||
+ | # | ||
+ | # | ||
+ | # screen top | ||
+ | # screen -t monkey ssh monkey | ||
+ | # screen -t mail 8 mutt | ||
+ | # screen -t daemon 9 tail -f / | ||
+ | |||
+ | </ | ||
+ | ===== 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 : https:// | ||
+ | * tmux : https:// | ||