Jens A. Koch

GNU Screen / .screenrc

Da ich jedesmal im Screen Handbuch nachschauen muss, wie die Tastenkombinationen für “GNU Screen” sind, gibt es nun eine Übersicht dazu:

Kommandozeile
screen -ls Auflisten der Screen Sockets
screen -r Wiederverbinden

Laufende Session umbenennen
Wenn man bereits in einer Screen-Session ist, dann kann man [Strg+A][:] für die Screen-Konsole eingeben und mit “sessionname NeuerSessionName” den Namen setzen. Das Ergebnis kann man sich mit [Strg+A][d] für detach, gefolgt von “screen -ls” ansehen.

Fensterhandling
[Strg-a][c] create Erzeugt ein weiteres Fenster
[Strg-a][0..9] gehe zu Wechselt zu Fenster Nr. n
[Strg-a][Space] next Wechselt zum nächsthöheren Fenster
[Strg-a][n] next Wechselt zum nächsthöheren Fenster
[Strg-a][p] previous Wechselt zum niedrigeren Fenster
[Strg-a][Strg-a] Wechselt zum vorherigen Fenster
[Strg-a][w] windows Anzeige offener Fenster (Fußzeile)
[Strg-a][A] title Fenstername vergeben
[Strg-a][K] kill aktives Fenster schließen (falls es nicht mehr reagiert)
STRG+a leitet Kommandomodus für GNU/Screen ein.
STRG+a c erstelle ein neues Fenster
STRG+a 0 wähle Fenster Nummer 0
STRG+a 9 wähle Fenster Nummer 9
STRG+a n ein Fenster vor springen
STRG+a h ein Fenster zurück springen
STRG+a a zum letzten aktiven Fenster wechseln
STRG+a A Fenster benennen
STRG+a ‘ Fenstername eingeben, zu dem man springen will
STRG+a ” Liste mit allen Fenstern zeigen
STRG+a STRG+d GNU/Screen aushängen, läuft im Hintergrund weiter
STRG+a h Hardcopy in hardcopy.n erstellen
STRG+a H Fensterinhalt in screenlog.n mitspeichern
STRG+a ? Kleine Übersicht über Tastaturkürzel anzeigen

Modifizierte “.screenrc”
Das folgende Skript modifiziert die “.screenrc” und ergänzt eine Fußzeilenübersicht und nützliche Tastenkürzel.
Siehe dort unter “bind”.
Installation: “.screenrc” ins “~user”-Verzeichnis ablegen.

##############################
# jesse's screenrc
# teh.geekosphere.org
#
# last change: 26.04.2007
##############################

autodetach on # default: on
startup_message off # default: on
# nethack on # default: off
crlf off # default: off
multiuser off
defscrollback 2000 # default: 100
silencewait 15 # default: 30
bufferfile $HOME/.screen_exchange
shell -$SHELL

caption always " " # clear line before hardstatus
hardstatus alwayslastline "%{= kb}[ %{B}%H:$USER %{b}][ %=%{w}%?%-Lw%?%{b}(%{W}%n*%f %t%?(%u)%?%{b})%{w}%?%+Lw%?%?%= %{b}][%{B} %l %{B}%{W}%d.%0m %{b}]"
sorendition +b bk

# some fixes
termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
termcapinfo xterm* OL=100
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
termcapinfo xterm* be
termcapinfo xterm|xterms|xs ti@:te=\E[2J
termcapinfo wy75-42 xo:hs@
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
termcapinfo linux C8

# teh bindings
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h

bind 'w' windowlist -b
bind 'W' windows
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history

# use F7 and F8 to cycle trough the windows
bindkey -k k7 prev
bindkey -k k8 next

register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]

bind = resize =
bind + resize +3
bind - resize -3

msgminwait 0
msgwait 5
Comments Off on GNU Screen / .screenrc

Comments are closed.