= Uebersicht = Titel: "Screen" Untertitel: "Window Manager fuer das Terminal" Datum: 2017-09-28 18-22h Dauer: Vortrag: 1h; PAUSE. Workshop: 2h Veranstalter: Berliner Linux User Group (BeLUG) Ankuendigung: https://www.belug.de/aktivitaeten-kalender/WindowmanagerInDerConsole.html Ort: Lehrter Str. 53, 10557 Berlin http://www.openstreetmap.org/node/412766878 BVG: Bus 123,M27 "Quitzowstrasse"; Bus 123 "Kruppstrasse" Kontakt: Sven Guckes vortrag-belug-screen-2017-10-04@guckes.net Diese_Seite: http://www.guckes.net/talks/screen/2017-10-04.screen_talk.belug.txt Latest change: Thu Sep 28 03:33:33 CEST 2017 = Beschreibung = "Screen" ist ein "Window Manager" fuer das Terminal, dh man verwaltet damit Prozesse - in jedem Fenster einen. Natürlich kann man zwischen den Fenster hin+herwechseln, die Anzeige der Fenstertitel und deren Nummer anpassen. Ein "Monitoring" gibt Nachricht über Aktivität oder Schweigen auf den unsichtbaren Fenstern. Beim Trennen der Ansicht ("detach") laufen die Prozesse weiter bis man sich wieder mit einer Ansicht verbindet ("reattach") - egal, ob auf dem lokalen Laptop oder auf einem entfernten Server. Allein *das* ist schon ein grosser Nutzen von Screen überhaupt. Screen hat, wie jedes gute Programm, ein "Key Bindung", dh erlaubt es die Tasten auf Kommandos konfigurieren. Es gibt auch einen Multiuser Modus über den man anderen erlauben kann zuzuschauen (read) bzw hineinzutippen (write). Damit ist zwischen den Nutzern eine Zusammenarbeit möglich. Der "Copy Mode" erlaubt es in der Fensterhistorie zu suchen und von dort auch Text zu kopieren. Man sieht normalerweise immer nur ein Fenster, aber man kann auch die Ansicht spalten (horizontal+vertikal). [Extra] und dann gibt es noch: Hardcopies, Zombie Mode, Backtick Command, Farben.. Vorführung: max eine Stunde. Workshop: möglich. wer möchte? Kiste mitbringen! = Tweet = https://twitter.com/guckes/status/913187311021694976 2017-10-11 Wed 18-22h @BeLUGBerlin Vortrag "GNU Screen" Lehrter_53 http://www.openstreetmap.org/node/412766878 https://www.belug.de/aktivitaeten-kalender/WindowmanagerInDerConsole.html http://www.guckes.net/talks/screen/2017-10-04.screen_talk.belug.txt = Vortragsplan = for BEGINERs: Detach+Reattach :detach screen -r :powdetach Multiple Screens/Windows editor (vim), email (neomutt), IRC (irssi), news (slrn), rss (newsbeuter), shell (zsh), web (elinks2) Navigation digit :next + :previous :other :select :windows :windowlist Number+Title :number :title Split Screens :focus :split :split -v :resize :remove :only Multiple Views + Sessions :displays screen -ls :sessionname screen -r prefix PAUSE == ADVANCED 1 == Extra: Copy Mode CTRL-A ESC "space {move} space" :readbuf :writebuf :removebuf Extra: Notification :monitor :silence Extra: Zombie Mode :zombie z CTRL-SPACE == ADVANCED 2 == Extra: Multiuser Mode :multiuser on screen -ls $USER/ screen -x $USER/ . screen -ls root "No Sockets found in /tmp/uscreens/S-guckes." screen -ls root/ "Must run suid root for multiuser support." . ls -l $(which -a screen) :fit :acladd :aclchg :aclgrp :aclmask :acldel :group == Extra Extra == :backtick :idle :blanker :blankerprg :hardcopy :hardcopydir hardcopy_append :history :info :login :log :lockscreen :nethack :password :stuff :time Copy+Paste: :readreg Processes: :kill :quit Layouts: :layout new|remove|next|prev|select|show|title|attach|save|autosave|dump Activity: :monitor :silence Load Config: :source == Configuration == * Command Char: escape ^xy * Startup: startup_message off * Scollback: defscrollback 1000 * Silence: silencewait 15 * Exchange: bufferfile $HOME/.screen_exchange * Hardcopies: hardcopydir $HOME/.screen * Shell+Title: $HOME/bin/zsh :shelltitle * Base Color: sorendition kG * Bells+Whistles: activity, bell_msg, pow_detach_msg, vbell_msg * Windowlist: windowlist title/string == Configuration Extra == these take some time.. * Command Binding :bind and :bindkey :bind y bumpleft :bind x bumpright Programme starten, zB: dictionary, editor, email, google, htop, imdb, wetter, weblog * Caption+Hardstatus = FAQ = * [beep, sound] wie kann man eine nachricht hörbar machen? -> vbell * [session naming] wie gibt man einer laufenden session einen namen? -> :sessionname * [session nesting - "screen within screen"] wie geht man um mit einer screen session in einer anderen session? -> command character wechseln -> :escape ^xy * [remote sessions] anzeigen von CPU load von mehreren servern? -> jeweils im fenster per ssh auf host einloggen screen ssh user@host htop screen ssh user@host TERM=linux htop * [adjust terminal sizes] wenn mehrere Benutzer zugeschaltet ("attachede) sind und unterschiedliche Terminalgrößen haben - wie bekommt man eine *gemeinsame* Terminalgrößen hin? -> :fit * [commandline] Kann man auf der internen Kommandozeile auch die Kommandos der bash verwenden? -> evtl die gnu readline einbinden (untested) * [redirection] kann man zwischen fenster auch kopieren bzw umleiten? -> file descriptors -> :exec fdpat = Links = http://guckes.net/Screen/ http://guckes.net/Screen/intro.html http://guckes.net/Setup/screenrc Die Alternative: tmux! Wer möchte einen Vortrag über tmux machen? EOF