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.
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.
Als Anwender sollte man nach dem Workshop
$DISPLAY
-Variable richtig setzen koennen,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:
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.
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.
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.
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".
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
, ...)
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
?
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.
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
.
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.
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.