selectwm.png

Manager-Wahl

Jo´s alternativer Desktop: selectwm

01.02.2002
Ihre .xinitrc ist eine ständige Baustelle? selectwm könnte Sie Ihrem Editor entreißen.

deskTOPia

Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.

Einmal das ABC der Window Manager und Desktop-Umgebungen gefällig? Hier ist es: AfterStep, Blackbox, CTWM, dxwm, evilwm, FVWM, GNOME, HeliWM, IceWM, KDE, lwm, MWM, NovaWM, OLWM, PWM, qvwm, Ratpoison, Sapphire, twm, UDE, VTWM, wmx, XFce und YAWM. Zugegeben, sowohl "J" als auch "Z" fehlen – aber sicherlich werden auch hier noch Programme hinzustoßen. Unverkennbar haben wir es mit einer Unzahl zur Wahl stehender Oberflächen zu tun. (Nebenbei bemerkt: das Alphabet ließe sich auch mit völlig anderen Fensterverwaltern zusammenstellen). Da fehlt nur noch ein Tool, mit dem der User einen seiner installierten Window Manager und Desktop Environments für die anstehende Sitzung auswählen kann. Luc Dufresne hat es geschrieben.

Dem Ergebnis seiner Bemühungen gab er den Namen selectwm, setzte es zum freien Download auf seine Web-Seite http://ordiluc.net/selectwm/, und stellte das Programm unter die GPL. Und so finden Sie es auch auf der Heft-CD wieder.

Spielregeln

Das Prinzip hinter den Kulissen ist simpel und effektiv: Anstelle eines Window Managers startet künftig selectwm. Dieses Programm wiederum stellt die vom User eingetragenen Window Manager und Desktop-Umgebungen zur Wahl (wobei optional ein voreingestellter Eintrag automatisch nach dem Verstreichen einer definierbaren Zeitspanne startet). Auf Wunsch kehrt der User nach dem Beenden des Fensterverwalters zu selectwm zurück – andernfalls wird die User-X-Session sogleich beendet.

Um die Angelegenheit nicht unnötig zu verkomplizieren, benötigt selectwm für all dies kein separates Konfigurationstool, sondern ist im laufenden Betrieb innerhalb der einen einzigen Oberfläche vollständig und per Maus konfigurierbar.

Aber auch ein perfektes Tool benötigt etwas Hilfe: Es wäre unsinnig, müsste jeder Programmierer die Knöpfe und Texte seines Programms selber malen. In der Regel kommen hier sogenannte Toolkits zum Einsatz, die als Bibliotheken mehreren Anwendungen zur Verfügung stehen. selectwm greift auf das von Gimp und GNOME bekannte GTK+-Toolkit der Version 1.2.0 oder höher zurück. Aber keine Bange: Diese Mindestanforderung stammt vom 25. 02. 1999, und so sollte sie eine jede halbwegs aktuelle Distribution seit langem erfüllen.

Vorbereitungen

Allerdings liegt es an Ihnen sicherzustellen, dass auch das zugehörige Devel-Paket (Entwicklerpaket) auf Ihrem System installiert ist. Dieses enthält Teile der GTK+-Bibliothek, die Nutzer vorkompilierter Distributionspakete nicht benötigen. Nur wer entsprechenden Sourcecode selbst übersetzen möchte, muss sie vorrätig halten. selectwm kommt als Sourcecode daher, sofern Sie nicht ausgerechnet die Debian-Distribution verwenden: Nur für diese existiert ein aktuelles, fertig übersetztes Paket, das direkt mit dpkg installiert werden kann.

Viel schwerer ist das Selbstkompilieren allerdings auch nicht. Befindet sich GTK+ erst einmal auf der Festplatte, erledigen folgende Schritte (eingegeben an einer Eingabeaufforderung) den Rest der Installation:

tar xvfz selectwm-0.3.tar.gz
cd selectwm-0.3
./configure
make
su
make install
logout

Das Tool tar entpackt das Archiv, woraufhin das beiliegende Skript configure Ihr System befragt. In dessen Ausgabe brauchen Sie einem einfachen no keine Beachtung schenken. Erscheinen hingegen deutliche Hinweise auf einen Fehler oder bricht configure ab, ohne ein Makefile zu erstellen, so müssen Sie zunächst die Ursache hierfür beseitigen. Woran es mangelt, entnehmen Sie bitte der Skript-Ausgabe.

Tritt kein Fehler auf, werden Sie zuletzt aufgefordert, mit dem Befehl make fortzufahren. Dieses Tool übersetzt den vom Programmierer geschriebenen Code anhand des zuvor erstellten Makefiles in einen vom Linux-Kern ausführbaren Code; das Binary entsteht. An den rechten Fleck gelangt es mit dem Befehl make install, für dessen Ausführung kurzfristig der User root im Sourcen-Verzeichnis antreten muss.

Rollenvergabe

Befindet sich selectwm nun auf Ihrer Festplatte, gilt es als nächstes, diesem Tool die Herrschaft über Ihr X-Window-System zu überlassen. Besitzt ein User in seinem Home-Verzeichnis eine (ausführbare) Datei .xinitrc (beim textbasierten Login) oder .xsession (beim grafischen Login), so steuert diese den Ablauf einer X-Session auf User-Ebene. Gleich einem Shell-Skript wird sie abgearbeitet: Sobald der letzte in ihr stehende Befehl fertig ist, beendet sich das gesamte Skript. Soll selectwm ins Spiel kommen, können Sie diese Datei so gestalten:

#!/bin/bash
xsetroot -solid black
selectwm

Zunächst rufen Sie alles auf, was bei jeder X-Session gleichbleibend und unabhängig vom eingesetzten Window Manager ausgeführt werden soll. In diesem Beispiel schwärzt zunächst xsetroot den Hintergrund ein. Zuletzt nimmt selectwm das Zepter in die Hand.

Das Spiel beginnt

Beim ersten Start begrüßt Sie ein völlig leere Fenster wie in Abbildung 1. Damit Sie nun überhaupt etwas auswählen können, müssen Sie zunächst die künftige Auswahlliste erstellen: Drücken Sie die rechte Maustaste innerhalb der freien, weißen Fensterfläche. Ein Kontextmenü erscheint, und Sie können Beschreibung und Startkommando eines neuen Window-Manager-Eintrags hinzufügen (Abbildung 2).

Abbildung 1: Rechtsklick ins noch leere selectwm-Fenster
Abbildung 2: Eine neue Oberfläche kommt hinzu

Gespeichert wird diese Liste (mitsamt der übrigen Konfiguration) automatisch in der Datei .selectwmrc. Haben Sie Ihre Window Manager und Desktop-Umgebungen fertig eingegeben, so können Sie einen Eintrag (ebenfalls über die rechte Maustaste) zum Default (Standard) erheben – dieser ist dann künftig vorgewählt. Gefällt Ihnen die Reihenfolge der Auswahlmöglichkeiten nicht mehr, so ziehen Sie diese einfach bei gedrückter linker Maustaste an den rechten Fleck. Ein Doppelklick hingegen startet das eingetragene Kommando. Die Auswahlliste reagiert übrigens auch auf die Pfeil- und Leertasten.

Zeitlimit?

Sicher fragt sich der eine oder andere beim Experimentieren, wofür das bislang leere Feld unmittelbar unter der Auswahlliste gedacht ist. Beantworten lässt sich die Frage durch Druck auf den Config-Button. Ein weiterer Dialog öffnet sich, in dem eine Zeitspanne auf die Zehntelsekunde genau definiert werden soll: Ist diese abgelaufen, startet der Default-Window-Manager. Die verbleibenden Zehntel werden in eben diesem Feld rückwärts gezählt (Abbildung 4). Setzt man die Zeitspanne hingegen auf 0, wartet selectwm eine User-Aktion ab.

Abbildung 3: Hinter dem "Config"-Button
Abbildung 4: Theme-fähig

Dann wäre da noch der Button mit der Aufschrift Go back to selectwm when the WM exits. Aktivieren Sie diesen, so kehren Sie beim Beenden Ihres Window Managers zu selectwm zurück. Voreinstellen können Sie dies ebenfalls im Config-Dialog (Abbildung 3).

Wie Sie Abbildung 4 entnehmen können, lässt sich die optische Erscheinung von selectwm anpassen. Der Freiheit sind hier aber enge Grenzen gesetzt: Da es sich um eine GTK-Anwendung handelt, richtet sich die Optik nach dem aktuellen GTK-Theme. Wählen können Sie dieses z. B. im Gnome Control Center (gnomecc) oder aber im Paletten-Dialog des XFce-Desktops.

Trick 17

Wer lediglich umfangreiche Oberflächen wie XFce oder Window Maker startet, wird mit den bisher beschriebenen Möglichkeiten zur Auswahl seines Window Managers glücklich. Was aber, wenn der eine Window Manager z. B. eine Uhr mit auf den Desktop bringt, während der nächste gänzlich ohne Beiwerk den Bildschirm ziert – und eine Uhr somit manuell hinzugestartet werden müsste? Die Lösung ist einfach – die Desktop-Umgebungen XFce und KDE machen es vor: Deren Oberflächen werden nicht mit einem Mal aufgerufen, sondern hinter den Kulissen über die Skripte startkde bzw. startxfce zusammengesetzt. Von diesen werden alle benötigten Tools hinzugestartet. Wollen Sie etwa den Window Manager PWM immer mit einer Uhr versehen (die bei einer anderen Oberfläche nicht von Nöten ist), so legen Sie im Verzeichnis /usr/local/bin ein ausführbares Shell-Skript mit dem Namen startpwm an. Dort tragen Sie vor dem tatsächlichen Window-Manager-Aufruf Ihr Uhren-Kommando ein:

#!/bin/bash
oclock -geometry -0-0 &
pwm

Über einen solchen Wrapper können Sie jeden einfachen Window Manager um eine Autostart-Funktion erweitern. Auch lassen sich auf diese Weise verschiedene Konfigurationen mit ein- und demselben Window Manager realisieren. Und ein umständliches Abändern Ihrer .xinitrc vor dem Start einer X-Session entfällt künftig.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare