Tausend Fenster offen, zwei Monitore, weil der Platz sonst nicht mehr reicht, kein Expose unter Windows und ein Dutzend Puttys zu div. Servern offen - jetzt nur nicht die Übersicht verlieren (Dramatisiert).
Mit GNU/Screen kann ich mehrere ttys in einem tty öffnen. Für Windows-Leute so ausgedrückt: Ich mache eine SSH-Verbindung in Putty auf, starte GNU/Screen und kann dann, zwischen mehreren Shells hin und her springen. Darin lassen sich natürlich auch Programme ausführen, die man eigentlich immer offen haben sollte. Z. B. mutt und top.
Das eigentlich Killerfeature ist, ich kann GNU/Screen auch aushängen und mich vom System ausloggen. Die Programme laufen im Hintergrund weiter. Wenn ich mich wieder von irgendwo anmelde, kann ich die Session wieder zurückholen.
GNU/Screen startet man mit
lemming@deepthought:~ $ screen
Danach erscheint dann ungefähr folgendes
Screen version 4.00.02 (FAU) 5-Dec-03
Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder
Copyright (c) 1987 Oliver Laumann
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along withthis program (see the file COPYING); if not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Send bugreports, fixes, enhancements, t-shirts, money,
beer & pizza to screen@uni-erlangen.de
[Press Space or Return to end.]
Einfach mit Enter weiter. Jetzt hat man eine weitere Shell offen. Dies ist ein Fenster (engl. Screen), ein weiteren Screen mit einer weiteren Shell öffnet man mit der Tastenkombination STRG+a gefolgt von c. Zwischen den beiden Screens kann man mit STRG+a erneut gefolgt von STRG+a hin und her springen. AFAIK kann man unendlich viele Screens öffnen. Zum ersten Screen gelangt man mit STRG+a 0 zum Zweiten mit einer 1 usw.
Ein Screen schließt man, indem man die Shell mit exit, logout oder STRG+d einfach beendet. Man gelangt dann in den nächsten Screen, oder wenn kein Fenster mehr übrig ist, wird GNU/Screen entladen.
Es gibt eine Vielzahl von Möglichkeiten zur Steuerung der Fenster:
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
GNU/Screen lässt sich, wie weiter oben schon beschrieben, auch aushängen und später wieder einhängen. Dies geschiet mit STRG+a d.
Ein ausgehängtes GNU/Screen kann man mit folgendem Befehl wieder zurück holen.
lemming@deepthought:~ $ screen -r
There are several suitable screens on:
19802.pts-3.deepthought (Detached)
19823.pts-3.deepthought (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Allerdings kann es auch sein, dass mehrere Screens ausgehängt sind. Man muss also genauer werden und die PID mit auf den Weg geben.
screen -r 19802
GNU/Screen gibt es auf fast jeder Plattform, mit Cygwin selbst unter Windows. Bei den meisten Linux-Derivaten und Mac OS X ist GNU/Screen bereits vorinstalliert. Bei FreeBSD und OpenBSD kann man GNU/Screen in /usr/ports/misc/screen finden und nachinstallieren.
Dieses Programm ist eine echte Hilfe, wenn man Prozesse startet die im Hintergrund laufen sollen; nicht ein Dutzend Terminals auf dem Desktop sehen will; oder die Geschehnisse im tty protokolliert haben möchte.
Kleiner Tipp: su, fg und bg funktionieren in GNU/Screen einwandfrei.

7 Kommentare
wunderbares tool, ich kann ohne nicht mehr leben.
hab in der arbeit in einer screen-session verbindungen zu allen wichtigen servern und auch sehr wichtig - zum irc. damit bin ich immer online und kann in der arbeit/zuhause/unterwegs einfach hinverbinden.
noch was praktisches - wenn man beim verbinden “screen -x” ausführt, muss man bei einem anderen offenen nicht detachen - multiheadbetrieb. ich verwende es nur so. sehr praktisch vorallem daran - jeder “head” ist eigenständig in so fern, welches “fenster” (in der gleichen screen-session!) gerade angezeigt wird.
vielleicht hilfts ja jemanden
JA, ich nutze screen auch schon seit Ewigkeiten und kann nicht mehr ohne
Besonders schoen ist die Moeglichkeit, mittels .screenrc im $HOME fast beliebige Shortcuts festzulegen, z. B. macht bei mir CTRL-A,m ein mutt-ng auf oder CTRL-A,t ein htop. Schneller gehts nicht.
Ja und weiterhin sehr schoen ist natuerlich die Moeglichkeit, so ganz schnell an eine Root-Shell zu kommen ohne jedesmal ein Password eingeben zu muessen. Ich mache einfach ein screen auf dem Server, tippe “su -” und hab meine root-Shell. Aus der brauche ich mich nicht mehr auszuloggen und beim naechsten Reattach ist die root-Shell (neben den anderen Feld-, Wald- und Wiesenshells) immer noch da. So habe ich auf den wichtigen Servern immer quasi sofort root-Permissions, wenn ich sie brauche.
Zum Wechseln zwischen den einzelnen ttys habe ich mir F11 und F12 belegt: F11 geht eine zurueck, F12 eine vor. Dabei ist das Wechseln so eingestellt, dass nach der letzten automatisch wieder die erste angesprungen wird. Und vice versa.
Dürfen wir deine .screenrc mal sehen? Da kann man deinen Erzählungen nach viel abguggen.
Btw. Auch dir, Rikamn, ein allerschärfstes Willkommen.
Na ja, so viel wirst du da auch nicht sehen. Ich habe die screenrc mal in das Download-Directory kopiert:
http://rikman.mtb-news.de/download/linux/screenrc
Ich hoffe, es hilft ein wenig.
Bei meinem Breitbild-TFT (ca. 1200×900?) hatte ich unter Windows die Taskleiste an den rechten Bildschirmrand gelegt. Der Schnellstartleiste, mit eingeblendeten Symbolbeschriftungen, gab ich die halbe Bildschirmhöhe, damit ein Klick genügt um Programme zu starten. Die restliche Hälfte belegten die laufenden Programme.
Dadurch gewinnt man den immer breiter gebauten Bildschirmen nutzen ab, da man sonst von der Breite nichts hat, da die meisten Anwendungen nur nach Höhe gieren.
Expose-Clone für Windows: http://www.winplosion.com/ und ein schönes Screen-”Addon”: http://pubwww.fhzh.ch/~mgloor/screenie.html . Jetzt gehe ich ins Bett
Hmm, der Mittelteil kam mir irgendwie bekannt vor… deshalb hab ich mal nachgeschaut und fand unter http://f0rked.com/articles/irssi einen schönen Artikel, der das Zusammenspiel von screen und irssi beschreibt.