Titel: Screen - der Window Manager fuer Terminals Kurztitel: Screen Feature Show Art: Vortrag mit Vorführung Dauer: 40min, Pause, Q+A bis 2h Zielgruppe: Alle. Vorkenntnisse: Keine. Abstract/Beschreibung: Fast alle Benutzer lernen Computer mit einer Oberflaeche kennen. bei denen Programme in Fenstern laufen. Wer sich aber einmal auf einer andere Maschine einlogt, der tut dies meist ueber ein Terminal. Und dann gibt es keine Fenster mehr. Tja. Doch an dieser Stelle hilft SCREEN: Was ist es *nicht*? Dies ist kein Vortrag mit Folien, sondern eine feature show, dh sie zeigt lediglich die Effekte im Programm, die man auch gut sehen kann, damit man einen Eindruck von der Vielfalt der Eigenschaften des Programms erhaelt. Darum wird auch nicht erklaert welche der Tasten man druecken muss, um die Effekte auszuloesen. Das haette auch keinen Sinn, weil das zum einen viel Zeit in Anspruch nimmt, und das Ansagen jedes Tastendrucks sehr langweilig ist. ;-) Ausserdem ist eine der wesentlichen Eigenschaften das "free key binding", dh eine freie Belegung aller Tasten zu Kommandos oder Kommandosequenzen. Somit kann sich jeder Benutzer seine Lieblingskombinationen selber zurechtlegen, wie er das wuenscht. Und wen interessieren da noch wie die voreingestellte Tastenbelegung ist? Das waere dann der Stoff fuer einen Workshop.. Inhalt: Fenster oeffnen und schliessen; Wechseln zwischen Fenstern. Fenstertitel neu benennen. Detach+Reattach. Digraph input. screendumps, logfiles. copy mode: search, select lines or block, choose end-of-lines, copy. paste into file or window. monitor for activity and silence. multiuser mode. session locking. configuration of caption and hardstatus line. SCREEN verwaltet Fenster auf dem Terminal, es ist also ein "window manager". In jedem Fenster wird ein Programm gestartet. SCREEN zeigt aber immer nur eines der Fenster. Zwischen desn Fenstern kann man leicht wechseln (nach Nummer, Name oder per Menu). SCREEN erlaubt auch einen Abzug vom aktuellen Bildschirm zu nehmen (hardcopy). es verwaltet auch fuer jedes Fenster einen "backlog", der die herausgeschobenen Zeilen beinhaltet, und man kann auch allen Daten, die ueber ein Fenster gehen, in eine Logdatei schreiben lassen. SCREEN erlaubt das Suchen von Text im Fenster und dessen Backlog. Ueber den "copy mode" kann man Text selektieren (Fliesstext, ganze Zeilen, aber auch rechteckige Bloecke) und dessen Kopieren in einen Puffer. der Inhalt eines Puffers kann dann in einem anderen Fenster wieder eingefuegt werden. Mit SCREEN kann man also sehr leicht Daten zwischen Programmen austauschen. (Wer benutzt dafuer noch die Maus?) SCREEN erlaubt die Eingabe von Zeichen, die nicht direkt per Taste auf der Tastatur sind, ueber die Digraph-Eingabemethode. SCREEN besteht aus zwei Prozessen: Ein Prozess haelt Unterprozesse am Leben und der andere stellt die Verbindung zum Terminal her. Beendet man die Verbindung zum Terminal, so erhaelt der andere Prozess die Unterprozesse weiterhin am Leben - auch ueber einen Logout hinweg. Man kann sich also spaeter wieder einloggen und seine Arbeit direkt wieder aufnehmen - auch von einem anderen Terminal aus. SCREEN hat auch einen Befehl, um die aktuelle Session schnell zu Verschliessen, so dass man nur mit dem Passwort des Users wieder herankommt. Ein zusaetzliches Passwort kann gewaehlt werden, um eine weitere Sicherheit zu haben. SCREEN sagt dem Benutzer auch bescheid, wenn die aktuell unsichtbaren Fenster eine Aktivitaet bzw eine Inaktivitaet fuer N sekunden aufweisen. Damit kann man indirekt aufmerksam werden ueber neue EMail, eine neue Nachricht beim Chat, oder auch auf das Beenden eines Vorgangs (zB compile). SCREEN erlaubt die freie Zuweisung von Tasten auf Kommandos (free key binding), so dass man schnell Kommandos ausfuehren kann, zB ein neues Fenster mit einem Textbrowser auf einer Webseite oeffnen, insbesonder zur Suche ueber Google. SCREEN erlaubt ausserdem anderen Benutzern an der eigenen Session teilhaben zu lassen, dh man darf bei der Session mitsehen (read-only) oder sogar daran mitarbeiten (write). Damit kann man dem Administrator erlauben zu sehen wie man ein Programm benutzt und wie es zu einer Fehlermeldung kommt. Das laestige Erklaeren ueber eine Diskussion per Email entfaellt dabei. Man kann sich am Telephon ueber das Programm unterhalten. Und ueber den Schreibzugriff koennen Benutzer per SCREEN auch ko-produktiv sein! Kür: Screen in Screen - unterschiedliche Command Keys (zB CTRL-O oder CTRL-X) spezielle Setupdateien: Session für Kommunikationsprogramme screen -c .screenrc.comm - Remote startup mit spezieller Setupdatei wget guckes.net/Setup/screenrc.knoppix Stuff HOME URL Multiuser Mode: ACL commands. acladd Zombie Mode Zusammenarbeit - Text kopieren und austauschen ueber tempfile SCREENDIR + STY copy mode - Auswahl per Block (rectangular selection), join modes Links: http://www.guckes.net/Screen/intro.txt http://www.guckes.net/Setup/screenrc http://www.guckes.net/Setup/screenrc.knoppix http://www.guckes.net/Setup/screenrc.minimal TODO: pruning + merging freeNX - screen on GUI screen als login shell key binding examples Benötigte Hilfsmittel: Ein Beamer mit einer Aufloesung von mindestens 1024x768. Rechner: Ein 486er mit einer Knoppix sollte genuegen. Ein Zugang zum Netz per ssh nach draussen sollte reichen, dann kann alles auch im eigenen account gezeigt werden. Programme: ssh, terminal (zB xterm), vim 7.1. Eventuell noch ein X mit einem graphischen Webbroser, zum Zeigen von Websites oder zum Suchen mit Google, sowie einem PDF viewer (acroread, evince oder xpdf). Ein Laptop mit den installierten Programmen kann eventuell mitgebracht werden. Ein Anschluss per Kabel ueber einen Switch und eine Konfiguration per DHCP waere gut. Workshop: Moeglichst abends oder am Wochenende, ca 3-5 Stunden. Maximal 10 Teilnehmer. Adressen: Dokumentation: http://www.guckes.net/vortraege/screen/ Kontakt: Sven Guckes screen_vortrag@guckes.net +49-179-3966141 Persönliche Angaben: Sven Guckes, geboren 1967, Studium der Mathematik und Informatik an der Freien Universitaet Berlin; lebt in Berlin. Benutzt screen seit 1992. Ohne dieses Tool geht es nicht mehr. Und dennoch ist damit immer noch nicht zufrieden, weil es weitaus mehr leisten koennte fuer die taegliche Arbeit. Ueber screen hat er auf Linux events bereits einige Vortraege und Workshops abgehalten, zB in StPoelten, Wien und Chemnitz. Spezialgebiete: "Text Tools" (zB mutt, screen, slrn, vim, zsh) und zur Effizienz von User Interfaces. Projekte: zu viele. ;-) letzte Aenderung: Mon Sep 22 10:00:00 CEST 2008