9.1. Theorie zur grafischen Benutzeroberfläche Benutzer Anwendungen Windowmanager Netzwerk X-Server Hardware Abbildung 9.1: Schichten der grafischen Benutzeroberfläche * Ctwm ­ ein Windowmanager ohne Schnörkel * Olvwm ­ OpenLook Virtual Windowmanager, für Liebhaber des Beson- deren. Noch mehr Windowmanager sind in der Serie xwm zu finden. Auf Basis des Fvwm wurde eine Vielzahl anderer Fenstermanager geschrieben, die alle ähnlich konfiguriert werden können. Zu dieser Familie gehören der Fvwm in den Versionen 1, 2.0 und 2.2, sowie AfterStep, Bowman, cdesim und Fvwm95. Außerdem gibt es u. a. die folgenden Desktop Environments: * KDE ­ K Desktop Environments (voreingestellter Standard unter SuSE Linux) * GNOME ­ GNU Network Object Model Environment * XFce ­ Ein Nachbau des kommerziellen CDE Welchen Windowmanager Sie nehmen, hängt vom persönlichen Geschmack, den benötigten Funktionen und der Leistungsfähigkeit der vorhandenen Hardware ab. Gerade der Speicherhunger der verschiedenen Windowmana- ger macht z. T. einen erheblichen Unterschied aus. Einen Desktop wie KDE oder GNOME sollten Sie nur bei einem Speicherausbau ( Speicher) von mindestens 64 MB einsetzen. Vor allem ist es aber neben dem Aussehen auch die Konfigurier- und Erweiterbarkeit, wodurch sich die verschiedenen Win- dowmanager voneinander unterscheiden. In Abbildung 9.2 bis Abbildung 9.5 gibt es vier Beispiele zu Arten der Fensterdekoration. Abbildung 9.2 zeigt nur den X-Server ohne einen gestarteten Windowmanager; es sind keine Rahmen vorhanden, an denen man Einfluss auf die Fenstergröße und Position nehmen kann. Nichts hindert Sie, die verschiedenen Windowmanager (parallel) zu installie- ren und auszuprobieren. Wenn Sie sich dann entschieden haben, können Sie 265 9. Der Windowmanager ­ Ihr Fenster zum Rechner Abbildung 9.2: Keine Fenster-Dekoration ­ X11 ohne Windowmanager Abbildung 9.3: Fenster-Dekoration des kwm des KDE Abbildung 9.4: Fenster-Dekoration des Fvwm Abbildung 9.5: Fenster-Dekoration des WindowMaker den jeweiligen Windowmanager an Ihre Wünsche anpassen und sich eine ei- gene Arbeitsumgebung einrichten. Als Standardarbeitsumgebung wird KDE installiert. Zum Schluss noch ein Tipp: die meisten Infos in diesem Kapitel beziehen sich auf den Fvwm2 bzw. KDE. Wenn Sie noch unentschieden sind, dann nehmen Sie einen dieser beiden! 9.1.2 Was tut ein Windowmanager? Nun eine kurze (und unvollständige) Auflistung, wie man durch Konfigura- tion eines Windowmanagers das Verhalten und Aussehen des Desktops ein- stellen kann: * Aussehen der Fenster ­ Breite, Farbe und 3D-Effekt des Rahmens ­ Bedienelemente zum Verschieben oder Vergrößern des Fensters (die sog. Fensterdekoration), Titelzeile und Schriftarten * Überlagern von Fenstern ­ Raising-Verhalten, z. B. AutoRaise (das automatische Hervortreten in den Vordergrund) 266 9.1. Theorie zur grafischen Benutzeroberfläche ­ Anpinnen von Fenstern * Fokussieren eines Fensters durch ­ Anklicken ­ Berühren" mit dem Mauszeiger * Popupmenüs ­ Aussehen der Menüs (Farbe, Schriftart) ­ Verhalten der Menüs und Untermenüs * Bildschirmhintergrund * Virtueller Desktop (mehrere Desktops/Screens) * Verwaltung von Icons * Verbindung von Sounds mit Ereignissen auf dem Desktop Wenigste Windowmanager nur verfügen über ein grafisches, intuitiv" be- dienbares Konfigurationsprogramm, mit dem man die genannten Funktionen einrichten und verwalten kann. Dies sind z. B. KDE, GNOME, WindowMa- ker und Enlightenment. Die meisten Konfigurationen geschehen über eine oder mehrere Konfigura- tionsdateien. Dort kann man mit Hilfe mehr oder minder einfach verstehbarer Befehle diverse Parameter einstellen. Aus der Erfahrung gesprochen: Man ge- wöhnt sich sehr schnell an einen Windowmanager und den Weg seiner Kon- figurierbarkeit. Außerdem konfiguriert man den Lieblingswindowmanager" meist nur am Anfang und arbeitet den Rest der Zeit damit. 9.1.3 Starten der verschiedenen Windowmanager Zum Aktivieren der verschiedenen Windowmanager gibt es in SuSE Linux mehrere Möglichkeiten, abhängig davon, wie Sie das X Window System star- ten. Starten mit kdm Wenn Sie das X Window System über den KDM starten, können Sie jeweils beim Login-Dialog einen Windowmanager auswählen. Der kdm speichert für jeden Anwender die letzte Einstellung; Näheres dazu im Abschnitt 9.2 auf der nächsten Seite. Starten mit xdm Wenn Sie statt des KDM den XDM benutzen, müssen Sie ­ wie unten be- schrieben ­ in der Datei ~/.bashrc die Umgebungsvariable WINDOWMA- NAGER zu setzen. 267 9. Der Windowmanager ­ Ihr Fenster zum Rechner Starten mit startx Wenn Sie nach dem Booten kein X Window System automatisch starten las- sen, können Sie mit startx per Parameter einen bestimmten Windowma- nager von der Textkonsole aus starten; z. B. über den Aufruf: tux@erde: > startx fvwm95 So startet der Fvwm95. Als Parameter wird hier immer der Dateiname des Windowmanagers verwendet. Dies funktioniert für die meisten der mitgelie- ferten Windowmanager. Den Aufruf kann man z. B. um die Einstellung der Farbtiefe erweitern. Das Kommando: tux@erde: > startx afterstep -- -bpp 16 startet das X Window System in 16 Bit Farbtiefe (65536 Farben) mit Af- terStep als Windowmanager; aber wahrscheinlich haben Sie diese Farb- tiefe sowieso bereits als Standard während der Installation eingestellt; vgl. Abschnitt 2.1.14 auf Seite 25 sowie Manual-Page von startx (man startx). Die Variable WINDOWMANAGER Hat man sich einmal für einen Windowmanager entschieden, kann man in die Datei ~/.bashrc im HOME-Verzeichnis folgende Zeile eintragen bzw. eine bestehende Zeile abändern: export WINDOWMANAGER=fvwm95 um den Fvwm95 zur Voreinstellung zu machen. Auch hier muss der Na- me des ausführbaren Windowmanager-Programms angegeben werden; im- mer dann auch einschließlich des Pfades zu dieser Datei, wenn das entspre- chende Verzeichnis nicht in der Umgebungsvariablen PATH enthalten sein sollte. Sie können diesen Eintrag mit YaST auch für /etc/profile angeben, wenn Sie die Windowmanager-Einstellung systemweit für alle Benutzer fest- legen wollen; zum Vorgehen vgl. Abbschnitt 3.6.6 auf Seite 109. Beachten Sie aber, dass jeder Benutzer diese Einstellung in der eigenen ~/.bashrc überschreiben kann. Wechseln des Fenstermanagers während der Arbeit Wenn Sie SuSEwm verwenden, ist es bei einigen Windowmanager (insbeson- dere bei denen der Fvwm-Familie) möglich, den Windowmanager zur Lauf- zeit zu wechseln. Bereits geöffnete Fenster (und damit die darin laufenden Prozesse) werden nicht abgebrochen. Bei einigen Windowmanagern wie Ct- wm, kwm (KDE) oder CDE ist dieses Feature von den Programmierern nicht implementiert worden. Um trotzdem zwischen beliebigen Windowmanagern wechseln zu können, existiert der SuSE DyDe (engl. SuSE dynamic desktop). Wenn Sie SuSE DyDe verwenden wollen, müssen Sie suse als Windowma- nager definieren bzw. im KDM als solchen auswählen. 268 9.2. KDE ­ das K Desktop Environment 9.2 KDE ­ das K Desktop Environment Mit KDE steht für Linux eine Benutzeroberfläche zur Verfügung, die ein- fach zu konfigurieren ist und ein einheitliches Look & Feel für möglichst viele Applikationen bietet. KDE steht für K Desktop Environment" und ist die Unternehmung einer seit Entstehung des Projekts im Herbst 1996 stetig wachsenden Software-Entwickler-Gruppe. KDE bietet neben einem eigenen Windowmanager (kwm) v. a. als zentrales Kernstück einen Filemanager-WEB-Browser (kfm), ein systemweites Hilfe- system (kdehelp) mit Unterstützung von HTML-Dokumenten, Manual-Pages und GNU-Info-Seiten. Auch eine Vielzahl mehr oder minder umfangreicher Anwendungen, die man zum täglichen Arbeiten am Rechner braucht (z. B. Mailer, Newsreader, Spiele, Systeminfo-Tools etc.), sind verfügbar. KDE ist vollständig URL und MIME-basiert. Das heißt, dass alle Pfad- angaben und Verweise auf Dateien in einem einheitlichen Format unter An- gabe der Übertragungsprotokolls weitergereicht und verarbeitet werden (z. B. als Verweis auf eine HTML-Seite, auf eine Datei im lokalen Dateisystem, eine Hilfeseite oder einen FTP-Server). Außerdem wird über Mimetypes" definiert, welche Programme welche Dateien lesen können. Dadurch ist es möglich, unabhängig von Art und Quelle der Daten diese per Mausklick an- zusehen und gegenbenfalls weiter zu verarbeiten. Weiterhin kann der Benutzer viele Dinge in KDE per Drag & Drop erledigen, z. B. das Kopieren einer Datei von einem FTP-Server ins lokale System. Das KDE-Hilfesystem ist ein weiterer Pluspunkt. Die Autoren von KDE-An- wendungen sind gehalten, die jeweilige Programmdokumentation in HTML dem KDE-Hilfesystem mitzugeben. Neben den HTML-Seiten des KDE-Hil- fesystems ­ das im Übrigen von dem meisten Programmen heraus kontext- sensitiv über den `Hilfe'-Button aufgerufen werden kann ­ können auch UNIX-Manpages oder sogar GNU-Info-Seiten komfortabel als Hypertext- Dokumente durchstöbert ( gebrowst") werden. Dass man unter KDE geschriebene Anwendungen und KDE selbst einheit- lich, einfach und bequem per Menü konfigurieren und Icons als Verknüpfung auf dem KDE-Desktop ablegen kann, sind nur weitere interessante Features in einer langen Liste. KDE wird mit Hilfe des Qt Widget Sets entwickelt. Qt ist (ähnlich wie Motif) eine Art Bibliothek zum Gestalten von oberflächenorientier- ten Programmen unter dem X Window System. Beachten Sie bitte die von der GPL abweichenden Lizenzbestimmungen von Qt (/usr/doc/ packages/qt/LICENSE). 9.2.1 Allgemeines KDE wird standardmäßig im Verzeichnis /opt/kde installiert. Alle KDE- relevanten Dateien finden sich in einem Verzeichnisbaum unterhalb die- ses Pfades. Um einfacher an diese Pfade zu gelangen, wird systemweit in /etc/profile die Umgebungsvariable KDEDIR gesetzt. ­ Das Verzeich- 269 9. Der Windowmanager ­ Ihr Fenster zum Rechner nis /opt/kde/bin ist nach Installation der KDE-Pakete automatisch im Suchpfad (PATH) für ausführbare Dateien. Im KDE-Verzeichnisbaum liegen viele Unterverzeichnisse, von denen in Ta- belle 9.1 auf der nächsten Seite nur die wichtigsten beschrieben werden sol- len. /opt/kde/bin alle KDE-Programme (ausführbare Dateien) /opt/kde/share/config systemweite Konfigurationsdateien /opt/kde/share/applnk Programmverknüpfungen (Menüs) /opt/kde/share/apps Dateien zu KDE-Programmen /opt/kde/share/doc die Online-Hilfen /usr/doc/packages/kde zusätzliche Informationen zu KDE Tabelle 9.1: KDE ­ wichtige Verzeichnisse Für Maus-Verweigerer sind hilfreiche Tastenkombinationen in Tabelle 9.2 auf der nächsten Seite zusammengestellt. Alt + F1 Das K-Menü wird geöffnet. Alt + F2 Es wird ein universelles Eingabe- feld geöffnet. Hier können Sie URLs, lokale Verzeichnisse oder Program- me/Befehle eingeben Alt + F3 Das Fenster wird geschlossen. Alt + Tab Hier können Sie zwischen den Fens- tern des aktuellen Desktops umschal- ten Strg + Esc Es öffnet sich eine Sitzungsübersicht mit den angezeigten Fenstern aller Desktop Strg + F1 ... F8 Umschalten zwischen den Desktops 1 bis 8. Tabelle 9.2: KDE ­ wichtige Tastenkombinationen 9.2.2 kdm ­ grafisches Einloggen Nicht zuletzt der Displaymanager KDM, der zusammen mit den KDE-Pake- ten kommt, ist eine wertvolle Erweiterung eines jeden Linux-Systems. Über den KDM meldet sich der Benutzer grafisch am System an. Die Standard- konfiguration des KDM in SuSE Linux zeigt Abbildung 9.6 auf Seite 269. Mit den verschiedenen Buttons" (Schaltflächen) können Sie den zu star- tenden Windowmanager (`Sessiontype') oder die Sprache (`Langua- 270 9.2. KDE ­ das K Desktop Environment Abbildung 9.6: Der Displaymanager kdm ge') auswählen. Weiterhin ist es für Einplatzrechner ein angenehmes Fea- ture, dass man über den Button `Shutdown' den Rechner herunterfahren kann, um ihn dann auszuschalten; vgl. Abschnitt 19.2 auf Seite 476. Der KDM ist vielfältig konfigurierbar. Die Konfiguration kann zum einen direkt über die Konfigurationsdatei /opt/kde/share/config/kdmrc erfolgen, zum anderen über einen Konfigurationsdialog aus dem KDE-Me- nü. ­ In SuSE Linux ist die Konfiguration der erreichbaren Windowmana- ger und das Starten des KDM zudem über YaST bequem möglich; vgl. Ab- schnitt 3.6.5 auf Seite 109. Die Werte dieser Variablen werden von SuSEconfig in /opt/kde/share/ config/kdmrc eingearbeitet und stehen beim nächsten Start des KDM zur Verfügung; diesen bei Bedarf mit der Tastenkombination Strg + Alt + - neu starten. Sollten Sie im laufenden KDE-System mittels des KDE Kontrollzentrums den KDM konfiguriert haben, wird das automatische Ein- arbeiten der Variablen aus /etc/rc.config unterlassen, um Ihre Ände- rungen nicht zu überschreiben. Wenn Sie dennoch die Konfiguration über /etc/rc.config vornehmen lassen wollen, ist es notwendig, dass Sie die Datei kdmrc.SuSEconfig, die immer von SuSEconfig.kdm angelegt wird, in kdmrc1 umzubenennen. Dann wird kdmrc auch wieder jedes Mal neu generiert. 9.2.3 Was ist das Tolle an KDE? Da wir uns nun mit Hilfe des KDM komfortabel grafisch einloggen können, ist es an der Zeit, auf die Besonderheiten von KDE einzugehen. Dazu soll hier der Ablauf nach dem Einloggen (bzw. nach dem startx-Aufruf) beschrie- ben werden. Beim ersten Einloggen erscheinen nach kurzer Zeit einige Dialogboxen, die das Fehlen von verschiedenen Dateien und Verzeichnissen mitteilen. Dies ist kein Fehler, sondern nur logisch. KDE legt nämlich ­ ähnlich der Verzeich- 1 Beide Dateien befinden sich im Verzeichnis /opt/kde/share/config 271 9. Der Windowmanager ­ Ihr Fenster zum Rechner nisstruktur in /opt/kde (Tabelle 9.1 auf der vorherigen Seite) ­ im Benut- zerverzeichnis einige Verzeichnisse und Konfigurationsdateien an. Dies ge- schieht in den Verzeichnissen HOME/.kde und HOME/Desktop. Das erste Verzeichnis dient zur Ablage der Konfigurationsdateien der einzelnen KDE- Anwendungen, das zweite zum Ablegen von Programmverknüpfungen. All diese Dialoge können Sie guten Gewissens mit oder mit der Maus bestätigen. Danach wird der kfm (K FileManager) gestartet. Der kfm ist ein sehr grund- legender Bestandteil von KDE. Wie schon in der Einleitung diese Kapitels beschrieben, kann der kfm mit sehr verschiedenen Arten von Dateien um- gehen, da die Behandlung der Dateinamen über URLs geschieht. Egal ob man eine Datei als Archiv vom FTP-Server (URL-Präfix ftp:) oder als Da- tei (URL-Präfix file:) lokal kopiert, ob man eine Manpage (URL-Präfix man:), eine GNU-Info-Seite (URL-Präfix info:) oder eine HTML-Seite vom einem WWW-Server (URL-Präfix http:) ­ sie alle werden von kfm gleich behandelt und dargestellt. Selbst Bilder in verschiedenen Formaten können mit Hilfe eines externen Betrachters angesehen werden. Ein typisches kfm-Fenster zeigt Abbildung 9.7. Abbildung 9.7: Der Dateimanager kfm Für den Benutzer werden diese Fähigkeiten schnell zur Selbstverständlich- keit, genauso wie das einfache Kopieren von Dateien per Mausklick. An die- ser Stelle soll kurz darauf hingewiesen werden, dass man durch das Klicken mit der rechten Maustaste auf ein Dateisymbol ein Menü öffnet, das einem verschiedene Möglichkeiten, diese Datei zu manipulieren, z. B. die Eigen- schaften der Datei bzw. des Programms festzulegen. Die Eigenschaften eines Programms, z. B. mit welchen Parametern das Pro- gramm gestartet wird, mit welchem Icon es auf dem Desktop dargestellt wird usw. werden in einer Datei mit der Extension .kdelnk abgelegt. Das Ver- ändern der Eigenschaften erfolgt über einen Dialog, wie der in Abbildung 9.8 auf der nächsten Seite. Diese Datei liegt als (editierbare) ASCII-Datei vor. Es lohnt sich, diese Dateien anzusehen, die z. B. in ~/Desktop oder (sys- temweit) in /opt/kde/share/applnk liegen; diese Dateien vertreten die auf dem Desktop und die im Menü dargestellten Icons. Der Inhalt dieser 272 9.2. KDE ­ das K Desktop Environment Dateien ist vom Format her einheitlich, wie das der anderen KDE-Konfigura- tionsdateien. Abbildung 9.8: Der Eigenschaften-Dialog Als letztes Programm startet im Allgemeinen die Menüleiste KPanel. In die- ser Menüleiste liegen zum einen die Bedienelemente für die einzelnen virtu- ellen Bildschirme, zum anderen ein besonderes Menü (das mit dem großen `K'), in dem alle systemweit verfügbaren KDE-Menüeinträge untergebracht sind (siehe die kdelnk-Dateien!). Auch die Konfiguration des KDE-Sys- tems mit Hilfe des KDE-Kontrollzentrums (Abbildung 9.9 auf Seite 272) und die des KPanels sind in diesem Menü zu finden. KPanel kann aber noch mehr. Zum einen ist es möglich, per Drag & Drop, Programm-Icons auf dem KPanel abzulegen und von dort aus die entspre- chenden Programme zu starten. Und mehr noch, KPanel kann laufende Pro- gramme schlucken". Kandidaten hierfür sind z. B. klipper (mehrere Buffer für cut and paste) oder korn, der anzeigt, wie viele Mails in einer bestimmten Maildatei liegen. Die Anwendungen laufen dann innerhalb des KPanels und sind dadurch ­ das ist wichtig ­ auf allen Desktops sichtbar. Alle KDE-Programme hier aufzuzählen würde sicher zu weit führen und ist aufgrund des ständig wachsenden und sich verändernden Angebots auch fast unmöglich. Da es eines der Ziele des KDE-Teams ist, Computer benutzbarer 273 9. Der Windowmanager ­ Ihr Fenster zum Rechner Abbildung 9.9: Das Kontrollzentrum zu machen, sollten Sie dieses Angebot nutzen, indem Sie durch das Menü gehen und sich das eine oder andere Programm ansehen. Hilfestellung bekommen Sie zu den meisten Programmen von kdehelp, das Sie bequem durch Drücken der rechten Maustaste auf den Hintergrund aus dem dann hochkommenden Menü starten können (abgesehen von den ande- ren interessanten Möglichkeiten dieses Menüs!). Behalten Sie jedoch bitte immer im Hinterkopf, dass viele KDE-Pakete, die wir mitliefern, noch im ALPHA-Stadium sind. Das heißt: sie können instabil sein, nicht vollständig implementiert und rätselhafte Dinge können passie- ren. Im allgemeinen geschieht jedoch nicht mehr, als dass bloß das jeweilige Programm abstürzt und Sie es neu starten müssen. Es stehen Ihnen einige Mailinglisten bei http://www.kde.org, der Home-Site des KDE-Projekts, zur Verfügung. Der Server hält eine große Menge an Informationen zu KDE, dessen Hintergründe und Intentionen und den aktuellen Entwicklungsstand bereit. Am Ende soll noch der Hinweis auf den SuSE-FTP-Server stehen, wo Sie un- ter ftp://ftp.suse.com/pub/SuSE-Linux/suse_update/KDE speziell an SuSE Linux angepasste KDE-Pakete finden; diese Pakete können Sie bequem mit YaST in das System einspielen. Lesen Sie zudem die dort verfügbaren Texte zur Installation und zur Verwendung von KDE in SuSE Linux. 9.3 Der Fvwm 274 9.3. Der Fvwm Allgemeines Im Folgenden soll auf den Fvwm2 (fvwm2) eingegangen werden. Er ist einer der wegweisenden Windowmanager unter Linux und zeugt noch immer Nachkommen ­ zuletzt wohl den Scwm (scwm). Unter SuSE Linux ist der Fvwm2 im Paket fvwm, Serie xwm, verpackt, der alte Fvwm1 im Paket fvwm1, Serie xwm. Neben den üblichen Funktionen zum Management der Fenster und deren De- koration mit Buttons" (Schaltflächen) bietet er Hintergrundmenüs und mo- dulare Teilprogramme, die zur Laufzeit nachgeladen werden können; dadurch lassen sich einige interessante Funktionen zur Verfügung stellen, wie z. B. ei- ne Button-Leiste. Mehr Informationen zu Funktion, Aufruf und Konfiguration des Fv- wm und seiner Module erhält man durch die zugehörigen Manual-Pages (Manual-Page von fvwm2 (man fvwm2), Manual-Page von FvwmAudio (man FvwmAudio), Manual-Page von FvwmButtons (man FvwmButtons) etc.). Im Dokumentationsverzeichnis /usr/doc/packages/fvwm findet man die mit dem Paket mitgelieferten Beispiel-Konfigurationsdateien. Wenn Sie nicht eine Konfigurationsdatei von Null an schreiben wollen, kön- nen Sie sich ein Gerüst" von SuSEwm generieren lassen und dann auf Ihre eigenen Wünsche hin abändern. SuSEwm wird in Abschnitt 9.5 auf Seite 277 beschrieben. Konfigurationsdateien des Fvwm Konfigurieren kann man den Fvwm über zwei Dateien: * Eine systemweite Konfigurationsdatei, die immer vorhanden sein sollte. Die Datei ist im Verzeichnis /usr/X11R6/lib/X11/fvwm2 zu fin- den und heißt .fvwm2rc. * Eine benutzereigene, die nicht unbedingt vorhanden sein muss. Sie heißt ebenfalls ~/.fvwm2rc und liegt im Benutzerverzeichnis des jeweiligen Benutzers. Das in Abschnitt 9.5 auf Seite 277 beschriebene Programm SuSEwm stellt bei der Installation eines SuSE Linux-Systems sicher, dass immer eine sys- temweite Konfigurationsdatei für den Fvwm angelegt wird. Der Fvwm liest die Konfigurationsdateien, wenn er startet. Ein Window- manager wird aus /usr/X11R6/lib/X11/xinit/xinitrc bzw. aus ~/.xinitrc heraus gestartet. Dazu sollte die Umgebungsvariable WIN- DOWMANAGER mit dem vollen Dateinamen der ausführbaren Datei des je- weiligen Windowmanagers, z. B. /usr/X11R6/bin/fvwm2 gesetzt sein; siehe auch auf Seite 266. ­ Zuerst wird versucht, die benutzereigene Kon- figurationsdatei zu lesen und dann, wenn es keine benutzereigene gibt, die systemweite Konfigurationsdatei. Die einzelnen Module des Fvwm lesen ebenfalls dieselben Konfigurations- dateien, wenn sie aufgerufen werden, jedoch benutzen sie nur die Teile der Konfigurationsdatei, die das jeweilige Modul direkt betreffen. 275 9. Der Windowmanager ­ Ihr Fenster zum Rechner Es empfiehlt sich natürlich für jeden Benutzer, eine eigene Konfigurations- datei anzulegen, die dieser dann nach Belieben verändern kann. Nach Ände- rungen an den Konfigurationsdateien ist ein Neustart des Windowmanagers notwendig, damit die Änderungen wirksam werden. Zum Neustart des Windowmanagers gibt es (bei der vorinstallierten SuSE- Konfiguration) einen Menüeintrag im Menü `Arbeitsmenü' und dort das Untermenü `Fenstermanager'. Dieselbe Wirkung hat ein Beenden und Neustarten des X-Servers. 9.4 Fvwm-Einstellungen Allgemeines Wir kommen zu der privaten Fvwm-Konfigurationsdatei, die Sie sich zuerst anlegen müssen. Wie das geht, ist auf Seite 279 beschrieben. Neben der Er- zeugung durch SuSEwm können Sie natürlich auch die von den Fvwm-Pro- grammierern mitgelieferte Konfigurationsdatei ~/.fvwm2rc aus dem Ver- zeichnis /usr/doc/packages/fvwm/system.fvwm2rc nehmen. Laden Sie mit Ihrem Lieblingseditor die Datei ~/.fvwm2rc. Wir werden uns dann einige Konfigurationsmöglichkeiten ansehen. Was passiert beim Start des Fvwm Blättern Sie durch, bis Sie zum Kommentar in Datei 9.4.1 kommen. ######################################################### # # # initialization function head # # common to all wms # # # ######################################################### Datei 9.4.1: InitFunction in der Datei ~/.fvwm2rc Daran anschließend finden Sie alle Aktionen, die beim Neustart des Fvwm ausgeführt werden. Hier wird das Modul FvwmBanner geladen (das Logo), mehrere xterm werden gestartet und ein xpmroot wird aufgerufen. Dieses Programm dient dazu, Bilder auf den Hintergrund (also auf das Root Win- dow") zu bringen. Sie können hierzu alle Programme verwenden, die in der Lage sind, das Hintergrundbild zu gestalten (z. B. xsetroot, xearth, xv, etc.). Hier noch ein Beispiel mit dem Programm xv: + "I" Exec xv -quit -root -owncmap -maxpect ~/pics/bild13.png Das Hintergrundbild sollten Sie nochmal bei den Aktionen aufführen, die beim Neustart des Fvwm gestartet werden, d. h. Sie sollten sie in der Funktion RestartFunction einfügen. Diese finden Sie in Datei 9.4.2. Oft sehen sich die InitFunction und die RestartFunction sehr ähn- lich, haben sie doch beide mit dem Starten des Windowmanagers zu tun. In der RestartFunction jedoch verzichtet man im Allgemeinen darauf, das Banner des Windowmanagers zu starten. 276 9.4. Fvwm-Einstellungen ######################################################### # # # restart function # # common to all wms # # # ######################################################### Datei 9.4.2: InitFunction in der Datei ~/.fvwm2rc Neben den Funktionen InitFunction und RestartFunction gibt es zusätzlich eine ExitFunction. Wie man aus dem Namen vermuten kann, ist dies eine Aufräum"-Funktion, in der man angibt, welche Programme vor einem Neustart bzw. vor dem Verlassen des Windowmanagers gestartet werden. Auf diese Weise kann man z. B. den Bildschirmhintergrund löschen, bevor der Neustart des Windowmanagers wieder ein neues Hintergrundbild startet. Farben und Fonts Die Einstellungen für Farben und Fonts finden Sie in der Sektion Datei 9.4.3. ######################################################### # # # colors and fonts # # # ######################################################### Datei 9.4.3: Farb- und Zeichensatzeinstellung in der Datei ~/.fvwm2rc Hier können Sie nach Herzenslust schalten und walten. Setzen Sie die Farben ein, die Ihnen am besten gefallen. Sie können alle installierten Farben neh- men. Welche installiert sind, hängt u. a. von Ihrer Grafikkarte ab. Drücken Sie die rechte Maustaste und gehen Sie ins Menü `System'. Von dort aus ins Menü `Information'. Etwa am Ende sehen Sie einen Menü- eintrag `Farbpalette'. Starten Sie es, und es kommt ein Fenster mit einer Palette aller dem System bekannten Farben. Hieraus dürfen Sie sich nun eine aussuchen. Die Namen der Farben stehen übrigens in der Datei /usr/X11R6/lib/X11/rgb.txt Ein paar Zeilen darunter entdecken Sie Zeilen der folgenden Art: WindowFont -misc-fixed-bold-r-normal-*-13-*-75-75-c-80- iso8859-1 Dies ist die systematische Bezeichnung einer Schrift (engl. font) im X Win- dow System. Jeder Font wird auf diese Weise beschrieben. Die einzelnen Na- mensbestandteile hier zu erklären, würde aber zu weit führen. Um das Gan- ze nicht zu unübersichtlich zu machen, existieren eine Reihe von Überna- men (engl. alias) für diese Fonts. Die Zeichensätze stehen üblicherweise im Verzeichnis /usr/X11R6/lib/X11/fonts. In den Unterverzeichnissen existiert jeweils eine Datei fonts.alias. Sie enthält gebräuchliche Ab- kürzungen für einzelne Fonts: 277 9. Der Windowmanager ­ Ihr Fenster zum Rechner variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*- iso8859-1 5x7 -misc-fixed-medium-r-normal--7-70-75-75-c-50- iso8859-1 Das lässt sich dann schon besser merken. Icons Um die Icons geht es in Datei 9.4.4. ## others # Style "xterm" Icon Terminal.xpm Style "xosview" NoTitle, Sticky Style "xosview" UsePPosition Datei 9.4.4: Icons für bestimmte Fenster Hier können Sie den jeweiligen Anwendungen ein Icon zuordnen. Sie müssen nur beachten, dass sich die gewünschten Icons auch im IconPath befinden; der IconPath wird ziemlich am Anfang der Datei ~/.fvwm2rc gesetzt. Prinzipiell können Sie jedes Icon, das in einem der Pfade liegt, die hinter dem Bezeichner PixmapPath aufgeführt sind, verwenden. Bei allen Icons, die aus einem nicht in diesem Pfad liegenden Verzeichnis stammen, müssten Sie den kompletten Pfad zu dem jeweiligen Icon angeben. Nehmen wir mal an, Sie möchten, dass ghostview ein Gespenst als Icon kriegt. Schauen Sie unter dem Pfad nach und Sie finden ein Icon mit Na- men ghostbusters.xpm. Fügen Sie die folgende Zeile zu dem Abschnitt hinzu: Style "ghostview" Icon ghostbusters.xpm Das war's. Analog können Sie Icons für fast alle Anwendungen angeben. Die meisten Anwendungen haben bereits Ihre Standard-Icons. Sie müssen auf jeden Fall den richtigen Namen der Anwendung (genauer: den Namen des Fensters der Anwendung kennen, denn ein xTerm statt xterm würde zu keinem Erfolg führen. Schließlich kümmert sich der Fenstermanager ja um Fenster! Den Namen eines Fensters findet man heraus, indem man aus dem Menü (`Fenstermanager' `Module') das Modul `Ident' (Programmname FvwmIdent) aufruft und auf das betreffende Fenster klickt. Cursor Auch Form und Aussehen des Cursors kann verändert werden. Hierfür dient das Programm xsetroot, das auch eingeschränkt zum Einbinden eines Hinter- grundbildes verwendet werden kann. Aufgerufen wird es mit: tux@erde: > xsetroot -cursor Hier steht für ein beliebiges Bitmap. Standardmäßig sind die Bitmaps unter /usr/X11R6/include/X11/bitmaps zu finden. Suchen Sie sich ein passendes aus, oder erstellen Sie sich selber eines, z. B. mit bitmap. 278 9.4. Fvwm-Einstellungen Fokus Ein besonders beliebtes Feature der Fvwm-Familie ist es, dass man zur Lauf- zeit das Verhalten der Fenster beim Wechseln des aktiven Fensters festle- gen kann. Neben der Laufzeitänderung kann man das Fokus- und Raising- Verhalten auf dauerhaft in der Konfigurationsdatei einstellen. Mit Fokus bezeichnet man die Eigenschaft des Windowmanagers, mit der die aktuellen Eingaben und Mausklicks an ein bestimmtes Fenster weitergegeben werden. Dabei gibt es 3 Möglichkeiten: * Man muss auf ein Fenster klicken, damit man z. B. Tastatureingaben an den in diesem Fenster laufenden Prozess machen kann. Dieses Verhalten heißt auf Englisch Click to focus. Man findet es z. B. auch standardmäßig unter Windows oder OS/2. * Man geht mit dem Mauspfeil über ein Fenster und dieses erhält automa- tisch den Fokus. Dieses Verhalten wird mit Focus follows mouse bezeich- net. Verlässt der Mauspfeil das Fenster, auch wenn er nicht aus ein anderes Fenster geht, sondern über dem Hintergrund liegt, verlässt der Fokus das eben noch fokussierte Fenster. * Eine fortgeschrittenere Variante ist das beim Fvwm und Fvwm95 einstell- bare Verhalten Sloppy Focus. Dabei verhält sich der Fokus wie bei Focus follows mouse, jedoch bleibt der Fokus beim fokussierten Fenster, solan- ge man kein anderes Fenster fokussiert, d. h. der Fokus bleibt auch auf dem fokussierten Fenster, wenn man nur auf dem Bildschirmhintergrund steht. Beim Fvwm kann man das Fokus-Verhalten für jedes Fenster getrennt einstel- len. Wie viele andere Einstellungen auch, erfolgt die Fokuseinstellung über einen Style-Befehl: Style "*" ClickToFocus stellt die Fokusstrategie ClickToFocus für alle Fenster ein. Das gleiche kann man für die Einstellungen SloppyFocus und FocusFollowsMouse eingeben, wobei letzteres die Voreinstellung des Fvwm ist. 9.4.1 Autoraise Neben dem Fokus ist auch das Raising-Verhalten, also wann ein Fenster in den Vordergrund kommt, wichtig. Die Voreinstellung ist hier, dass ein Fens- ter immer seine relative Position zu den anderen Fenstern (also: dahinter oder davor) beibehält, bis man es durch Klicken auf den Rahmen oder die Titel- leiste in den Vordergrund bringt. Manche Benutzer sind es aber gewohnt, dass ein Fenster in den Vor- dergrund kommt, wenn man mit der Maus darüberfährt. Dieses Verhal- ten nennt man AutoRaising. Es ist im Übrigen nur in Verbindung mit FocusFollowsMouse oder SloppyFocus sinnvoll. Zusammen mit dem Fokusmodell ClickToFocus (Standardeinstellung in Fvwm95) hat es keinen Effekt. Um AutoRaising benutzen zu können, kann man das Fvwm-Modul AutoRai- se aus dem Menü starten (Menü `Fenstermanager', `Module', `Au- toRaise Ein/Aus'). Damit das AutoRaising dauerhaft zur Verfügung 279 9. Der Windowmanager ­ Ihr Fenster zum Rechner steht, muss in der Konfigurationsdatei des Fvwm2 (~/.fvwm2rc) jeweils ein Eintrag in die Funktionen InitFunction und RestartFunction erfolgen: Function InitFunction + "I" Module FvwmAuto 200 Function RestartFunction + "I" Module FvwmAuto 200 Der Wert 200 gibt die Wartezeit in Millisekunden an, bevor ein Fenster in den Vordergrund gebracht wird. Die Wartezeit ist sinnvoll, da andernfalls jedes berührte" Fenster sofort nach oben kommt, was letztlich zu einer Art andauerndem Flimmern wird :-) 9.5 Windowmanager konfigurieren mit SuSEwm Was ist SuSEwm? Das Programm SuSEwm ­ enthalten im Paket susewm ­ vereinfacht den Umgang mit den Windowmanagern Fvwm1, Fvwm, Fvwm95, Bowman, AfterStep, Ctwm, WindowMaker, Mwm2, aber auch mit den Desktops des KDE und des GNOME Projekts. Da Fvwm1, Fvwm, Fvwm95, Bowman und AfterStep jeweils auf demselben Windowmanager basieren, werden diese fünf Windowmanager ähnlich kon- figuriert und bieten ähnliche Features an. Andererseits haben sie jedoch auch z. T. erhebliche Unterschiede bei der Kon- figuration. Damit der Benutzer die gemeinsamen Fähigkeiten aller Window- manager nutzen kann, ohne jedoch fünf verschiedene Konfigurationsdateien zu verwalten, fasst SuSEwm durch eine abstrakte Makrosprache die Konfi- guration der fünf Windowmanager weitestgehend zusammen. Mehr noch. Selbst die gänzlich unterschiedlichen Windowmanager Ctwm, Mwm, WindowMaker, das kpanel des KDE Desktops und das panel des GNOME Desktops werden ebenfalls mit SuSEwm konfiguriert. Allerdings bezieht sich deren Konfiguration nur auf die automatisch generierten Menüs. Desweiteren können die Menüs für diese Windowmanager nicht aus dem Menü (z. B. in Fvwm) heraus generiert werden, sondern diese werden immer nur systemweit durch SuSEconfig angelegt. Die Unterschiede in der Konfiguration der einzelnen Windowmanager kön- nen durch Windowmanager-spezifische Statements berücksichtigt werden. Durch SuSEwm werden die Menüs bzw. die vom Windowmanager unter- stützten Module abhängig von den tatsächlich installierten Software-Paketen konfiguriert: Menüeinträge zu nicht installierten Programmen werden nicht generiert. Weitere besondere Features des SuSEwm sind: 2 Der MWM ist Teil von Motif (kommerziell); in dem Paket lesstif befindet sich eine freie Version. 280 9.5. Windowmanager konfigurieren mit SuSEwm * Konfiguration von zehn Windowmanagern bzw. Desktops: Fvwm1, Fv- wm, Fvwm95, Bowman, AfterStep, Ctwm, Mwm, WindowMaker, GNOME Panel und KDE Panel. * Ein zentrales Bibliotheksverzeichnis für alle Windowmanager, einheitli- che Makros für unterschiedliche Konfigurationsdateien. * Zusätzliche Konfigurationsdateien für die einzelnen Windowmanager, um deren Eigenheiten und Besonderheiten zu berücksichtigen. * Berücksichtigung zusätzlicher Konfigurationsdateien für Windowmana- ger. Außerdem werden bei der Konfiguration im Gesamtsystem Variablen in /etc/rc.config beachtet. * Berücksichtigung von Quelldateien für den einzelnen Benutzer bei der automatischen Konfiguration (im Benutzerverzeichnis). * Erzeugung benutzerspezifischer Konfigurationsdateien unter weitgehen- der Berücksichtigung der vom Benutzer gemachten Veränderungen (an alten Konfigurationsdateien). * Miteinbeziehung verbreiteter kommerzieller Programme, die nicht im Lieferumfang von SuSE Linux enthalten sind, bei der Generierung der Menüs. * Beliebiges Hin- und Herwechseln zwischen den unterstützten Window- managern zur Laufzeit ohne Startskripten wie z. B. ~/.xinitrc ändern zu müssen, sofern es der Windowmanager zulässt. 9.5.1 Einträge im Menü hinzufügen Wenn Sie Einträge innerhalb des SuSE-Menüs hinzufügen wollen, müssen Sie Dateien anlegen, wie in Datei 9.5.1 dargestellt. Name=Printer Name[de]=Drucker Comment=Show all printers Comment[de]=Alle Drucker zeigen. Exec=klp MiniIcon=printer.xpm Icon=printer.xpm Type=Application Datei 9.5.1: .lnk-Datei des SuSEwm für Menüeinträge Hierbei sind insbesondere die Einträge für Name[ ... ] und Exec wichtig. Alle anderen Einträge sind optional. Wenn Sie Type=TEXT eintragen, wird jedes Programm in einem Terminal laufen. Damit der Eintrag erzeugt wird, muss die Datei wie folgt genannt werden: ..lnk; dabei steht für den RPM-Paketnamen, in dem das entsprechende Programm enthalten war. Sollten Sie das Programm nicht über ein RPM-Paket installiert haben, können Sie z. B. ein- tragen. Für können Sie ein beliebiges Kürzel eintragen, z. B. den Namen des auszuführenden Programms. Außerdem sollte der Dateiname mit .lnk enden. Diese Datei müssen Sie in ein Verzeichnis unterhalb von /etc/X11/susewm/AddEntrys einfügen. Je nach dem in welchem Ver- zeichnis Sie die Datei speichern, wird in dem entsprechenden Untermenü der Eintrag vorgenommen. 281 9. Der Windowmanager ­ Ihr Fenster zum Rechner Wie verwendet man SuSEwm? SuSEwm wird normalerweise von YaST nach dem Installieren von Paketen gestartet und passt alle systemweiten Konfigurationen an. Als Benutzer ver- wenden Sie den SuSEwm in 2 Fällen: * Sie haben noch keine eigene Windowmanager-Konfigurationsdatei für einen angeführten Windowmanager; Sie möchten nun aber eine solche Datei, um sich eine eigene Arbeitsumgebung unabhängig von der sys- temweiten einzurichten. * Sie haben bereits eine Windowmanager-Konfigurationsdatei, aber inzwi- schen wurde mit YaST Software installiert oder deinstalliert und die Menüs passen nicht mehr. Voraussetzungen An dieser Stelle wird von Folgendem ausgegangen: * Sie sind als normaler Benutzer (z. B. der bei der Installation mit YaST angelegte Beispielbenutzer) eingeloggt, nicht als der Benutzer `root'. * Sie haben in YaST als die Menüsprache Deutsch eingestellt. Für ander- ssprachige Menüs gilt alles entsprechend. Und so macht man's. Wenn man mit der linken Maustaste auf den Bildschirm- hintergrund (engl. root window) klickt, erscheint ein Menü. Dies funktioniert nur unter Windowmanagern, für die der SuSEwm eine eigene Konfigurations- datei im HOME-Verzeichnis erzeugen kann, wie z. B. für die Fvwm-Familie. Dies Popup-Menü hat den Titel `Arbeitsmenü'. Dort finden Sie die gän- gigsten Programme, die man in seinem Arbeitsleben am Rechner braucht ­ auch das ist freilich eine Geschmacksfrage ;-) Der letzte Eintrag dieses Menüs (`Fenstermanager') enthält ein Unter- menü mit Punkten, die die Funktion bzw. die Konfiguration des gerade laufen- den Windowmanagers betreffen. Wollen Sie einen anderen Windowmanager konfigurieren, schalten Sie zuerst zu diesem um (`Andere Windowma- nager'). Einer der Menüpunkte heißt `Erstelle Konfigurations- datei', hier finden Sie für jede mögliche Sprache einen Eintrag, um für den laufenden Windowmanager eine Konfigurationsdatei im HOME-Verzeichnis anzulegen. Dies kann man in Abbildung 9.10 noch einmal anhand des `Arbeits- menüs' des Fvwm betrachten. Wenn Sie den zweiten oder dritten Punkt anklicken, taucht ein Fenster auf, in dem dann mksusewmrc (dieses Programm ist ein Teil des Pakets SuSEwm) abläuft. Lesen Sie bitte den angezeigten Text und drücken Sie die entspre- chenden Tasten, wenn Sie dazu aufgefordert werden. Das war's schon. Nun können Sie die eben erzeugte Konfigurationsdatei in Ihrem Benutzerverzeichnis nach Belieben verändern. susewm wird beim nächsten Aufruf diese Änderungen weitestgehend in die neue Konfigurations- datei einbauen. Der SuSEwm legt außerdem noch eine Datei mit der Endung .orig an. Diese dürfen Sie nicht verändern, wenn Sie wollen, dass die Än- derungen berücksichtigt werden. 282 9.5. Windowmanager konfigurieren mit SuSEwm Abbildung 9.10: Der Menüpfad zur Windowmanager-Konfiguration Wenn Sie die Vorgaben des Desktops in Maßen verändern wollen, müssen Sie zuerst eine eigene Konfigurationsdatei anlegen lassen. Wie das geht, ist oben beschrieben. Erst danach können Sie diese Datei abändern. Wollen Sie eine komplett andere Konfigurationsdatei schreiben wollen, verzichten Sie darauf, SuSEwm aufzurufen. Ein Beispiel Ein bunter Desktop ist schön und gut ­ nur was nützt es, wenn die Hardware (Speicher, Prozessor, Festplatte) nicht leistungsstark genug ist? Ein Window- manager sollte schließlich nicht alle Systemressourcen an sich ziehen, indem er z. B. Icons exzessiv verwendet oder animiert. Deshalb an dieser Stelle ein Tipp, was Sie tun können, wenn Sie den Eindruck haben, dass Ihr Rechner beim Starten des Fvwm bzw. des Fvwm95 zu lang- sam ist. Die Ursache dafür sind wahrscheinlich die mehreren hundert Icons in den Menüs, die alle einzeln geladen werden müssen. ­ Abhilfe können Sie auf drei Wegen schaffen: * Setzen Sie mit YaST (`Administration des Systems' `Konfigurationsdatei ändern') die Variable SUSEWM_XPM=no. Für den Fall, dass Sie die o. g. Variable direkt in der /etc/rc.config 283 9. Der Windowmanager ­ Ihr Fenster zum Rechner geändert haben sollten, vergessen Sie bitte nicht, danach SuSEconfig aufzurufen. * Deinstallieren Sie das Paket 3dpixms und ­ wenn Sie die großen Icons auch nicht haben wollen ­ zudem das Paket 3dpixm. * Entfernen Sie die Icons aus der Konfigurationsdatei. Der erste Weg bedarf wohl keines weiteren Kommentars. Der zweite Weg ist auch einfach: YaST aufrufen, die genannten Pakete deinstallieren, wohl fühlen. YaST sorgt dann zusammen mit SuSEwm und SuSEconfig dafür, dass die systemweite Windowmanager-Konfigurations- datei angepasst wird. Wenn Sie eine benutzereigene Konfigurationsdatei haben, müssen Sie diese explizit aktualisieren lassen: verwenden Sie das Windowmanager-Menü, wie auf Seite 279 ff. beschrieben. Der dritte Weg: Wenn Sie noch keine benutzereigene Konfigurationsdatei ha- ben, lassen Sie sich eine backen" wie in Abschnitt 9.5.1 auf Seite 279 be- schrieben. Dann ersetzen Sie darin alle Menüeinträge, die Icon-Statements enthalten; der Ausgangszustand in Datei 9.5.2 auf der nächsten Seite ist ge- mäß dem Beispiel in Datei 9.5.3 auf der nächsten Seite zu ändern. AddToMenu thiswmpopup "Fvwm2" Title + "Andere Fenstermanager%small.warning_3d.xpm%" Po- pup otherwmpopup + "Konfiguration%small.checklist2_3d.xpm%" Po- pup susewmpopup + "" Nop + "Fvwm2 Neustart%small.restart_suse_3d.xpm%" Restart fvwm2 + "Fvwm2 und X beenden%small.exit.xpm%" Functi- on QuitSave # end popup thiswmpopup Datei 9.5.2: .fvwm2rc mit Icons für Menüeinträge AddToMenu thiswmpopup "Fvwm2" Title + "Andere Fenstermanager" Popup otherwmpopup + "Konfiguration" Popup susewmpopup + "" Nop + "Fvwm2 Neustart" Restart fvwm2 + "Fvwm2 und X beenden" Function QuitSave # end popup thiswmpopup Datei 9.5.3: .fvwm2rc ohne Icons für Menüeinträge Danach sollte der Fvwm bzw. Fvwm95 wesentlich schneller starten. Und ­ wie bereits betont ­ Ihre Änderungen an der persönlichen Konfigurationsdatei bleiben erhalten, wenn Sie SuSEwm irgendwann wieder aufrufen! 284 9.6. Allgemeine Konfiguration des X Window Systems 9.6 Allgemeine Konfiguration des X Window Systems s Wie versprochen, kümmern wir uns jetzt um die Optik und die Funktionen des Desktops ­ warum von der Stange kaufen, wenn Sie etwas Maßgeschnei- dertes bekommen können. Es gibt zwei Stellen, an denen Sie etwas drehen können: * an den Voreinstellungen für Anwendungen des X Window System oder * an der oder den Konfigurationsdatei(en) des Windowmanagers, wie schon auf Seite 273 ff. vorgestellt. Voreinstellungen für Anwendungen im X Window System Globale Einstellungen Fast jede Anwendung (engl. Application), die für das X Window System programmiert wurde, hat eine voreingestellte Konfiguration. Diese liegt in einer Datei, die zum jeweiligen Softwarepaket gehört; die Datei wird bei der Installation üblicherweise in das Verzeichnis /usr/X11R6/lib/X11/ app-defaults kopiert. Hier finden sich Dateien wie Xarchie. Wie der Name vermuten lässt, handelt es sich hierbei um die zentrale Konfigurations- datei für das Programm xarchie. Sehen Sie sich diese Datei einmal an; dazu können Sie less verwenden (vgl. Abschnitt 19.7.3 auf Seite 482). Dort fin- den Sie Zeilen wie: Xarchie.color*background: powder blue Lassen Sie sich von den scheinbar kryptischen Zeilen nicht abschrecken; Sie müssen nicht gleich alle verstehen. Jedes Programm unter X ist aus Widgets" aufgebaut. Unter einem Widget muss man sich sowas wie einen Baustein" vorstellen. Dabei gibt es ein Hauptwidget, das ist das Hauptfenster der Anwendung, das als allererstes aufgerufen wird. Alle anderen Widgets sind mehr oder weniger Kinder dieses einen Hauptfensters. Und daher hat jedes Widget exakt einen Vorfahren und keinen, einen oder mehrere Nachfahren. Jedes dieser einzelnen Widgets kann mit einem eindeutigen Namen benannt werden. Um die allgemeine Verwirrung noch ein wenig zu steigern, muss gesagt wer- den, dass Fenster und Widgets nicht verwechselt werden sollten. Ein Rollbal- ken (engl. scrollbar) z. B. ist ein eigenes Fenster (ein Fenster ohne jegliche Dekoration), ein Widget hingegen kann aus einem Rollbalken und (beispiels- weise) einem Textfeld und auch mehr bestehen (komplexes Widget). Da die Widgets zueinander wie in einem Vererbungsbaum angeordnet sind, spricht man auch von einem Widget-Baum. Jedes Fenster in einer Anwen- dung hat einen im Widget-Baum eindeutigen Namen. Daraus folgt, dass man jedes einzelne Fenster eines Programms mit seinem bestimmten Namen an- sprechen kann. In unserer Beispielzeile oben bedeutet das: * Das erste Wort bis zu dem Punkt (Xarchie) ist der Name des Toplevel- Widgets (Haupt-Widget) der Anwendung xarchie (es ist eine Regel, Na- men von Anwendungsvoreinstellungen, die für alle Widgets dieses Typs gelten sollen, groß zu schreiben). 285 9. Der Windowmanager ­ Ihr Fenster zum Rechner * Nach dem Punkt kommt `color'. Das ist natürlich die Farbe (aber welche?) * Dann folgt ein Stern, es hätte aber auch ein Punkt kommen können: ­ Ein Punkt bedeutet, dass zwischen diesen zwei Windows in der Hier- archie kein weiteres ist. ­ Ein Stern bedeutet, dass zwischen diesen zwei Windows ein oder meh- rere weitere Windows liegen können. * Das Wort background" sagt uns nun endlich, wessen Farbe geändert wird. Hier kann man eine definierte Farbe eintragen; eine Liste aller in einem X Window System gültigen Farben enthält /usr/X11R6/lib/ X11/rgb.txt. Benutzerspezifische Einstellungen Natürlich hat jeder Benutzer auch die Möglichkeit, eigene Einstellungen vor- zunehmen. Hierfür existiert im HOME-Verzeichnis des Benutzers eine Datei ~/.Xresources. Der `.' vor dem Namen bedeutet, dass es eine ver- steckte" Datei ist; zu versteckten" Dateien vgl. Abschnitt 19.7.4 auf Sei- te 483. In dieser Datei werden nun die benutzereigenen Einstellungen gesetzt. Hier können Sie z. B. sagen, dass alle Fenster als Hintergrund gelb haben, bis auf das Hauptfenster, das rot sein soll. Um auf unser obiges Beispiel zurückzukommen heißt das, dass man in seiner eigenen Datei ~/.Xresources die Standardeinstellungen der systemwei- ten app-defaults-Dateien gezielt überschreiben kann. Setzen Sie z. B. in Ihre ~/.Xresources die Zeile: Xarchie.color*background: gold So wird bei Ihnen (und nur bei Ihnen) die Anwendung xarchie mit einem goldenen Hintergrund gestartet. Sie können natürlich nicht nur die Farben ändern, sondern nahezu alle Ei- genschaften Ihrer Windows. Ein sehr nützliches Programm in diesem Zusam- menhang ist der Ressourcen-Editor editres (engl. edit resources). Mit diesem Programm können Sie sich die Ressourcen einer Anwendung anzeigen lassen und gezielt verändern. Noch einige Beispieleinstellungen, die Sie setzen könnten: Xarchie.color*background: powder blue Xarchie.color*SimpleMenu*background: wheat Xarchie.color*Command*background: wheat Xarchie.color*MenuButton*background: wheat Xarchie.color*Text*background: wheat Xarchie*font: 9x15 Prinzipiell lassen sich in eben beschriebener Weise fast alle Eigenschaften eines X-Programms bestimmen. In der Realität wird sich dies jedoch meist auf die Einstellungen zu Farben, Zeichensätzen und der Geometrie (Position und Größe) beschränken. Welche Optionen Sie hierbei haben, zeigt meist die Manpage des jeweiligen Programms oder die entsprechende Datei in den app-defaults. 286 9.6. Allgemeine Konfiguration des X Window Systems In der Datei /usr/X11R6/lib/X11/rgb.txt finden Sie die Namen der gültigen Farben. Einen Überblick über die zur Verfügung stehenden Zeichen- sätze liefert der Aufruf der Programme xfontsel bzw. xlsfonts. Einstellungen beim Starten von Anwendungen Eine dritte Möglichkeit, das Aussehen einer Anwendung zu beeinflussen, sind direkt beim Start angegebene Parameter. Diese Parameter können Sie natür- lich auch in der Konfigurationsdatei des Windowmanagers angeben, wenn Sie darin Programme starten. Zum Beispiel können Sie ein Programm explizit mit einer anderen Schrift- und Hintergrundfarbe aufrufen (bg = background", fg = foreground"), sofern das jeweilige Programm dies unterstützt: xterm -bg darkblue -fg white Ergebnis: ein blaues Xterm mit weißer Schrift. Wie greifen die Konfigurationsmöglichkeiten? Prinzipiell werden die systemweiten Einstellungen beim Start des X Window System getätigt. Die Einstellungen selbst verwaltet der X-Server in einer Da- tenbank (engl. X Ressource DataBase, xrdb). Will man, dass geänderte Ein- stellungen systemweit wirksam werden, so ist es notwendig, die Ressource- Datenbank nach dem Ändern von Hand erneut einlesen zu lassen. Dies kann man durch den Befehl tux@erde: > xrdb ~/.Xresources veranlassen. Die verschiedenen Einstellungen für Anwendungen werden beim Aufbauen der X-Server-internen Ressource-Datenbank beim X-Server-Start in der fol- genden Reihenfolge bearbeitet: * Zuerst werden aus /usr/X11R6/lib/X11/app-defaults die systemweiten Voreinstellungen für das jeweilige Programm gelesen. * Falls Sie in der Datei ~/.Xresources in Ihrem Benutzerverzeichnis Ihre eigenen Einstellungen stehen haben, so überschreiben diese die sys- temweiten Einstellungen. * Werden beim Start der Anwendung (z. B. in der Konfigurationsdatei des Windowmanagers oder beim Aufruf aus der Befehlszeile) explizite Anga- ben gemacht, so haben diese die höchste Priorität und überschreiben die übrigen Einstellungen. Das Programm xrdb kann Ihnen auch die momentan von Ihnen explizit ge- setzten Einstellungen anzeigen lassen: tux@erde: > xrdb -q könnte folgende Ausgabe erzeugen: emacs*geometry: 100x45-5-5 netscape.geometry: 610x760+140+30 xdvi*geometry: 720x895+250+5 Zum Abschluss dieses Abschnitts noch ein praktischer Tipp: 287 9. Der Windowmanager ­ Ihr Fenster zum Rechner Sollte es geschehen, dass ein Programm trotz expliziter Änderung von Einstellungen in ~/.Xresources und Neueinlesens der Ressource- Datenbank die Einstellungen (z. B. anderer Zeichensatz) nicht verwirk- licht, hilft es oftmals die Groß- und Kleinschreibung der Widget-Namen zu variieren. 288