From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 22
Titel: "Screen"
Untertitel: "Window Manager fuer das Terminal"
Datum: 2017-10-11 Mi 18-22h
Dauer: Vortrag: 1h; PAUSE. Workshop: 2h
Veranstalter: Berliner Linux User Group (BeLUG)
https://www.facebook.com/Linux.Berlin/
Ankuendigungen: https://www.belug.de/aktivitaeten-kalender/WindowmanagerInDerConsole.html
https://www.facebook.com/events/134116487332903/
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
http://www.guckes.net/talks/screen/belug.txt
530 Zeilen, 15900bytes
Latest change: Thu Oct 05 08:23:42 CEST 2017
Hinweis: man kann diesen text auch mit mutt anzeigen lassen:
wget http://www.guckes.net/talks/screen/belug.txt
mutt -f belug.txt
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 29
"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!
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 10
Habe diesen Vortrag getweetet:
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
https://twitter.com/guckes/status/918112979052384256
2017-10-04 18-22h Vortrag+Workshop zu #GNUscreen
@BeLUGBerlin #linux Vortrag beginnt um 18h
https://www.belug.de/aktivitaeten-kalender/WindowmanagerInDerConsole.html
http://www.guckes.net/talks/screen/belug.txt
"please retweet" :)
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 3
Wer trägt heute noch Hardware durch die Gegend? Und wozu?
Ist denn das Internet nicht überall um uns herum?
Sollte es nicht einfach so sein, daß man sich von einem
beliebigen Rechner aus einloggt und von dort aus arbeitet?
"Schon - aber was ist mit meiner graphischen Oberfläche?
Kann ich die dann überhaupt noch verwenden?"
Nun - wer braucht schon eine Oberfläche?
Wann war das letzte mal, dass Du die Knöpfe,
Scrollbars und Menüs wirklich gebraucht hast?
Ich möchte mal zeigen wieviel ohne GUI möglich ist.
Die Idee:
Benutze *irgendeinen* Computer, öffne
ein Terminal, logge Dich per ssh ein.
Zum Editieren von Texten, Emails versenden,
News lesen und im Web surfen reicht das.
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 9
Meine Liste der häufigsten Programme und Services:
Multiple Screens/Windows
editor (vim), email (neomutt), IRC (irssi), news (slrn),
rss (newsbeuter), shell (zsh), web (elinks2)
Dictionary, Google, htop, IMDB, Wetter
Normalerweise: Ein Programm pro Fenster.
Teilen von Fenstern in Unterfenster ist möglich.
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 26
Man startet screen einfach mit "screen".
Das startet wiederum eine login shell.
Per default sind keine caption bzw hardstatus Zeilen
gesetzt, und darum sieht man screen auch nicht. :-/
Aber wenn man sich aber die Prozessliste
anschaut, dann sieht man screen sehr gut:
$ pstree -A $USER
mosh-server---zsh---screen
screen-+-2*[elinks]
|-neomutt
|-vim
|-zsh---pstree
|-zsh---screen
`-zsh---man---less
screen-+-irssi---{gmain}
`-zsh---less
$ screen -ls
There are screens on:
10294.work (Attached)
11546.comm (Attached)
2 Sockets in /tmp/uscreens/S-guckes.
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 12
Das Wichtigste: SCREEN "hört" auf CTRL-A.
Das Zeichen danach ist dann ein Kommando.
Falls nicht -> Fehlermeldung.
Beispiele:
CTRL-A , -> :license Lizenzanzeige
CTRL-A i -> :info Informationen zum aktuellen Fenster
CTRL-A t -> :time Zeit
CTRL-A v -> :version Version ("screen 4.04.00 (GNU) 19-Jun16")
CTRL-A w -> :windows Liste der Fenster
CTRL-A ? -> :help Hilfe
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 5
Das Nützlichste!
Läuft eine Session, so trennt man sich mit einem "detach":
CTRL-A d :detach von der Ansicht trennen
der Anguck-prozess wird damit beendet.
aber der andere screen prozess lebt weiter
und erhält die Unterprozesse am Leben. :-)
Man kann sich also ausloggen und nach dem
nächsten Login mittels reattach weitermachen. \o/
Welche Session läuft da eigentlich?
screen -ls Liste der aktuellen Sessions anzeigen
Session wieder aufnehmen bzw damit verbinden:
screen -r mit der detached Session verbinden (reattach)
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 16
Wenn es mehrere Sessions gibt, dann gibt "screen -ls" solche eine Meldung:
$ screen -r
There are screens on:
10294.work (Attached)
11546.comm (Attached)
There is no screen to be resumed.
In diesem Falle muss man eine Session eindeutig durch ein Präfix benennen:
$ screen -r 10
Nützliche Shellaliase:
alias '?'='screen -ls' # was läuft an Sessions?
alias !='screen -r' # nimm *die* Session!
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 10
Wie man zwischen den Fenster wechselt:
Navigation
digit zur Fensternummer mit Ziffer
:next + :previous zur nächsthöheren/niedrigeren Fensternummer
:other Aktuelles Fenster mit vorherigem tauschen
:select "Switch to window:"
:select N springt zu Fenster #N
:windows Fensterliste anzeigen - in hardstatuszeile
:windowlist Fensterliste anzeigen - als Menu zum Auswählen
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 5
Man kann die Fensternummer und den Titel wechseln:
Number+Title
:number
CTRL-A A -> :title
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 12
Fenster kann man horizontal+vertikal teilen:
Split Screens
:focus
:split horizontal
:split -v vertikal
:resize Größe (Zeilen) ändern
:remove
:only
Es gibt nur eine *einzige* globale Aufteilung.
Und diese geht nach detach+reattach verloren. :-(
[TODO: auf deutsch schreiben]
:resize +N increase current region height by N
:resize -N decrease current region height by N
:resize N set current region height to N
:resize = make all windows equally high
:resize max maximize current region height
:resize min minimize current region height
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 12
Sessions kann man mehrfach anschauen!
Multiple Views + Sessions
:displays
screen -ls
:sessionname
screen -r prefix
Ansehen kann man als derselbe Benutzer sowieso. Aber
man kann auch andere Benutzer zusehen lassen. Multiuser mode!
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 3
Input+Output
back in 5mins
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 6
SCREEN gibt Bescheid über Aktivität auf unsichtbaren Fenstern
bzw bei Nicht-Aktivität über N Sekunden (default: N=30 Sek).
Notification
:monitor
:silence
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Lines: 11
Im Copy Mode kann man Text vom Fenster kopieren -
und dann in einem (anderen) Femster wieder einfügen.
Im Copy Mode kann man wie in Vi navigieren, scrollen,
suchen, und Text auch als Rechteck markieren.
(im Backlog aka Window History aka Scrollback Buffer)
Copy Mode
CTRL-A ESC "space {move} space"
:readbuf
:writebuf
:removebuf
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 8
Im Zombie Mode verschwinden Fenster der Prozesse nicht,
sondern werden mit einem Zeitstempel abgeschlossen.
In diesem Zustand kann man das Fenster entweder beenden (z)
oder den anfänglichen Prozess mit CTRL-SPACE auch neustarten:
Zombie Mode
:zombie z
CTRL-SPACE
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 32
Wenn man die Session in den Multiuser Mode wechselt,
so kann man anderen Benutzern (auf demselben Rechner) erlauben
zuzusehen (read) bzw auch "hineinzuschreiben" (write).
Multiuser Mode
:multiuser on
screen -ls $USER/
screen -x $USER/
Typische Fehlemeldungen:
screen -ls root
"No Sockets found in /tmp/uscreens/S-guckes."
screen -ls root/
"Must run suid root for multiuser support."
Alle SCREEN Programme im Shellpfad anzeigen:
ls -l $(which -a screen)
Alle Zuseher auf die aktuelle Sichtweise/Matrix anpassen:
:fit
Erlaubnisse/Permissions einstellen:
:acladd :aclchg :aclgrp :aclmask :acldel
:group
Somit können sich zwei Benutzer (am telephon) darüber unterhalten,
was sie beide sehen können, zB der Benutzer und sein Administrator.
Das war wohl das eigentliche Grund warum SCREEN geschrieben wurde.
Und genau darüber habe ich SCREEN auch kennengelernt (ca 1990).
Mehrere Benutzer können dann auch gleichzeitig zusehen.
Sehr nützlich, wenn es keinen Projektor gibt. :-)
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 1
soweit erstmal.
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 30
Falls noch Zeit und Interesse ist, so kann
ich noch über diese Befehle was sagen:
:backtick :idle
:blanker :blankerprg
:hardcopy :hardcopydir hardcopy_append
:history
:login
:log
:lockscreen
:nethack
:password
:powdetach
: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
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 11
Konfiguration:
* 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
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 11
[WARNUNG: diese Einstellungen können ein bischen Zeit brauchen..]
* Command Binding
:bind and :bindkey
Beispiele:
:bind y bumpleft
:bind x bumpright
Programme direkt mit neuem Fenster starten, zB:
dictionary, editor, email, google, htop, imdb, wetter, weblog
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 5
[WARNUNG: diese Einstellungen können ein bischen Zeit brauchen..]
* Caption+Hardstatus
Caption: die Zeile unter *allen* "Regionen" (Unterfenster)
Hardstatus: *die* Zeile unter *dem* Hauptfenster
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 35
FAQ := "frequently asked questions"
Ein paar Fragen tauchen immer wieder auf..
* [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
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 7
Hier gibt es weiteres zu guckes..
http://guckes.net/Screen/
http://guckes.net/Screen/intro.html
http://guckes.net/Setup/screenrc
https://twitter.com/search?q=gnuscreen&src=typd
From 2017-10-11-belug-screen@guckes.net Wed Oct 11 18:00:00 2017
Screen - Window Manager <2017-10-11-belug-screen@guckes.net>
Status: RO
Lines: 10
Die Alternative zu GNU screen: tmux!
Vergleich:
http://www.guckes.net/screen/vs.tmux.txt
http://www.guckes.net/tmux/vs.screen.txt
Wer möchte einen Vortrag über tmux machen?
-> 2017-10-25 Mi
_____________________________________________
vim: set et ft=sven tw=999 nowrap: THPXRF EOF