X11 - das Fenstersystem unter dem Desktop

Das "X Window System, Version 11" (oder kuerzer: "X11") dient als Grundlage fuer groessere Desktop-Systeme wie Gnome und KDE oder kann auch selbststaendig als Benutzer-Oberflaeche verwendet werden. Wenn es mit der Oberflaeche einmal hakelt, helfen ein paar Grundlagenkenntnisse.

Der Workshop gibt eine Orientierung im Dschungel der verschiedenen X11-Prozesse und Komponenten, die alle miteinander spielen muessen. Wir fangen dabei mit einem ganz einfachen Szenario an und bauen dieses schrittweise aus.

Der Workshop soll praktisch orientiert sein: alle Begriffe/Konzepte werden nicht nur theoretisch eingefuehrt, sondern immer zusammen mit den Kommandos und Dateien, die im jeweiligen Zusammenhang relevant sind. Wir lernen dabei die Kommandos kennen, die (unabhaengig von einer speziellen Linux-Distribution) zu jedem X11 System dazugehoeren.

Voraussetzungen

Es werden keine X11- oder Unix-Kenntnisse vorausgesetzt. Fragen sind ausdruecklich erwuenscht. Ueber den genauen Themen-Katalog werden wir zusammen abstimmen. Es werden auch gerne Wuensche im Vorfeld via Email entgegengenommen.

Workshop-Teilnehmer sind eingeladen, ihren eigenen Laptop inkl. Fenstersystem mitzubringen, um die Themen im eigenen Umfeld nachzuvollziehen; dazu muss man Text-Dateien oeffnen und ansehen koennen und im Workshop vorgegebene Kommandos in ein Terminal-Fenster ("eine Shell") abtippen koennen. die Teilnahme macht aber auch ohne Laptop Sinn.

Ziele

Als Anwender sollte man nach dem Workshop

Administratoren sollen kennenlernen, wie Desktop-Arbeitsplaetze mit wenig Aufwand in einem Netzwerk bereitgestellt und zentral verwaltet werden koenn(t)en. Die Kenntnisse sind auch nuetzlich beim Aufsetzen einer "Thin-Client"-Umgebung (bspw. mit den Paketen des "Linux-Terminal-Server-Projects").

Keine Ziele:

Themen im einzelnen

Ein "normales" Desktop-System

Wir werfen zum Einstieg einen kurzen Blick auf ein "normales" Debian-Desktop-Setup mit GNOME. Wir sehen uns an, in welcher Phase welche Komponenten eine Rolle spielen. Wir werden sehen, dass dabei eine ganze Menge zusammenkommt, und dass es sich lohnt, diese Teile lieber einmal Stueck fuer Stueck in zu untersuchen.

X Server, X Clients, X Terminals

Als Anwender hat man typischerweise "sein Desktop-System" als eigenstaendiges System auf dem eigenen Rechner vor Augen. Tatsaechlich ist X aber fuer den Einsatz via Netzwerk konzipiert: Ein Programm kann auf dem Rechner "im Keller" laufen, seine Fenster aber aug dem Rechner im Wohnzimmer oeffnen. Die Begriffe "Server" und "Client" sind im Zusammenhang mit X nicht nur wichtig, sondern oft anders zugeordnet als die Rollen File-Server/Client -- wir klaeren die Verwirrung auf.

Ein manueller Start des X Servers

xinit(1), startx(1), xorg.conf(5), /var/log/Xorg.0.log, .xinitrc(5), .xsession, .xsession-errors. Wechseln zwischen X11-Schirm und Text-Konsolen-Schirm.

Window-Manager: Aufgabe und manueller Start

Was ein Windows-Manager eigentlich macht, sieht am besten, wenn man ihn nachtraeglich startet. Wir sehen uns zwei oder drei Window-Manager an (twm, fvwm, icewm, ....) verlieren uns aber nicht in Einzelheiten.

Ein "nackter" X Server, zusammen mit einem Window-Manager und je nach Geschmack mit noch etwas mehr oder weniger Menue/Panel-Brimbamborium ergibt schon einen brauchbaren "Desktop".

X im Netzwerk-Betrieb

Wir oeffnen den X Server fuer dem Netzwerk-Betrieb - mit mehr oder weniger Sicherheit. "Das Netzwerk" kann ein Workshop-Raum sein, die eigene Wohung, oder die eigene Firma. Was sind dabei "Clients" und "Server"? Die Bedeutung der $DISPLAY-Variable. Warum ein ungesicherter X Server wirklich schlecht ist, und die Absicherung mit xhost(1) und/oder xauth(1).

"ssh im xterm" vs. "xterm in ssh"; Benutzung von GUI-Anwendungen ueber Firewalls hinweg mittels "ssh X11 Forwarding".

Anwendungen, die fuer die Trennung Client/Server nicht (mehr) gut geeignet sind.

Start von X11 via "X Desktop Manager" und XDMCP. (xdm, ldm, ...)

Desktop-Umgebungen

Was machen Desktop-Umgebungen wie KDE oder Gnome "mehr" als ein X Server mit Window-Manager? Was davon braucht man? Kann man Dinge aus unterschiedlichen Desktop-Systemen mischen? Was macht das ominose dbus?

Fonts

X11 kann mit vielen Schriften verwendet werden. In diesem Teil geht es um: Fontbezeichnungen und -Typen, die Auswahl, Ansicht, und Verwendung eines (mehr oder weniger) bestimmten Fonts fuer eine Anwendung (xfontsel, xlsfonts, xfd). Ferner um den "Font-Path", Fonts fuer fixe (richtige und falsche) Aufloesungen, skalierbare Fonts; das "freetype"-Module; den X Font Server.

Zusaetzliche Monitore/Projektoren

Der Anschluss eines zusaetzlichen, externen Monitors oder Beamers ist heutzutage selten ein Problem. Die Einstellungen koennen via GUI oder Komanndozeile gemacht werden. Wir werfen einen Blick auf xrandr und x2x.

Anwendungs-Praeferenzen

GUI-Anwendungen sind auf Basis von unterschiedlichen Bibliotheken geschrieben, und entsprechend gibt es (leider) unterschiedliche Methoden und Moeglichkeiten, Anwendungen zu konfigurieren.

Wir werfen einen Blick auf Anwendungen, die mit dem Standard-X Toolkit, dem GTK Gnome Tool Kit, oder Qt (dem KDE Toolkit) geschrieben sind. Wir gehen dabei besonders auf den Umgang mit "X Resources" ein, da diese im Umgang laengst nicht so offensichtlich wie Einstellungs-Menues sind.

Cut & Paste-Probleme und was dahintersteht

Das Markieren-und-Kopieren mit der Maus klappt manchmal nicht zwischen Anwendungen. Ursache sind unterschiedliche X Bibilotheken, die sich auf unterschiedliche Typen von "Zwischenablagen" beziehen.

Wir besprechen, wie man xterm und Web-Browser wieder zusammenbringt, wenn Ctrl-V und "mittlerer Mausklick" auseinanderdriften.