deskTOPia
Wie Ihr Linux-Desktop aussieht, bestimmen Sie allein. 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.
Ist Ihnen der Desktop zu unübersichtlich durch übereinander gestapelte Fenster? Der Window-Manager Ion präsentiert eine Oberfläche aus einer beliebigen Anzahl Frames, die er kachelartig neben- oder untereinander anordnet. Jeder Frame kann mehrere Anwendungsfenster, so genannte Clients, aufnehmen. Damit geht dieser Fenster-Manager von Tuomo Valkonen einen Schritt weiter als das aus derselben Feder stammende pwm [1], das ebenfalls mehrere Anwendungen in einem Fensterrahmen betreiben kann.
Leider bietet bis auf Debian keine größere Distribution Ion-Pakete an, Sie müssen also bei den meisten anderen Systemen selbst zum Compiler greifen. Die neueste Entwicklerversion des Fenster-Managers erwies sich in unseren Tests als so zuverlässig, dass wir sie der recht alten stabilen Version vom Februar 2002 vorziehen. Hier lauert jedoch eine kleine Hürde: Die Entwicklerversion benötigt die Programmiersprache Lua [3], deren Installation Kasten 1 beschreibt. Ansonsten ist Ion genügsam und braucht nur die Bibliothek libltdl aus dem Paket libtool in der Version 1.4.3 oder höher.
Kasten 1: Installation von Lua
Die Programmiersprache Lua wird hauptsächlich zur Konfiguration anderer Programme eingesetzt. Sie arbeitet eingebettet in einem anderen Programm, das für bestimmte Aufgaben Lua-Funktionen aufruft. Ion nutzt diese Möglichkeit, sobald der Benutzer durch eine Tastenkombination eine Fensteraktion in Auftrag gibt. [Alt-a] integriert beispielsweise ein anderes Fenster in den aktiven Rahmen. Denselben Effekt erreichen Sie, wenn Sie mit [Alt-F3] eine Eingabezeile für Lua-Funktionen öffnen und dort QueryLib.query_attachclient(_) tippen.
Lua enthält kein configure-Script, so dass Sie nach dem Entpacken mit tar -xzf lua-5.0.tar.gz die Datei config im Verzeichnis lua-5.0 anpassen müssen. Die ausführlichen englischen Kommentare erklären die Bedeutung der einzelnen Zeilen. Auf der Heft-CD finden Sie die Datei config.lua_sample, die wir unter den letzten beiden SuSE- und Red-Hat-Distributionen und unter Mandrake 9.0 getestet haben.
Wenn Sie sich die Handarbeit sparen wollen, sichern Sie die mitgelieferte Version von config unter einem anderen Namen und überschreiben sie mit der Datei config.lua_sample von der CD. Danach kompilieren und installieren Sie Lua mit den folgenden Befehlen:
make make so suEingabe des root-Passworts make install make soinstall
Die eher unüblichen Befehle make so und make soinstall erzeugen und installieren die Shared Libraries.
Ist Lua installiert, kommt Ion selbst an die Reihe. Entpacken Sie den Quellcode mit tar -xzf ion-devel-20030627.tar.gz und wechseln Sie ins neu entstandene Unterverzeichnis ion-devel-20030627. Bevor Sie den Window-Manager kompilieren, gilt es, die Datei system.mk Ihren Bedürfnissen anzupassen. Listing 1 zeigt beispielhaft, wo Sie den Installationspfad ändern und die Xinerama-Unterstützung ausschalten. Die gebräuchlichen Alternativen zur Voreinstellung sind schon eingetragen, Sie müssen nur ein Kommentarzeichen (#) vor der gewünschten Option löschen und bei der Standardzeile hinzufügen.
Listing 1
system.mk
#Installationsort PREFIX=/usr/local […] #Keine Xinerama-Unterstützung. Wer Ion auf mehreren Monitoren betreiben will, #belässt es bei der Vorgabe #XINERAMA_LIBS=-lXinerama DEFINES += -DCF_NO_XINERAMA
Nun kompilieren Sie Ion mit den Befehlen make depend und make. Mit root-Rechten ausgestattet installiert make install Ihren neuen Window-Manager nach /usr/local/.
Leider gibt es kein Patentrezept, um Ion zu starten. Den Login-Manager kdm beispielsweise konfigurieren Sie distributionsunabhängig über das KDE-Kontrollzentrum: Unter Systemverwaltung / Anmeldungsmanager / Sitzungen tragen Sie einfach einen neuen Typ namens ion ein.
Wenn Sie keinen grafischen Login-Manager verwenden, passen Sie je nach Distribution die richtige Datei an, da hilft nur ein Blick in Handbuch. Ein Eintrag exec /usr/local/bin/ion in ~/.xinitrc sorgt bei den meisten Systemen dafür, dass das Kommando startx den gewünschten Window-Manager aufruft.
Ion verwendet in der Voreinstellung run-mailcap als Editor und Dateibetrachter. Dieses Programm gibt es jedoch bei vielen Distributionen nicht. Damit die Funktionstasten zum Ansehen und Bearbeiten dennoch funktionieren, tragen Sie als root
#!/bin/sh exec xterm -e vim "$1" > /dev/null
in die Datei /usr/local/share/ion-devel/ion-edit ein, und schreiben Sie in /usr/local/share/ion-devel/ion-view:
#!/bin/sh exec xterm -e less "$1" > /dev/null
Mit diesem Beispiel verwenden Sie vim als Editor und less als Viewer, die beiden Befehle können Sie nach Belieben ändern.
Nach der aufwändigen Installation enttäuscht der erste Start: Nur ein leerer Rahmen begrüßt den Anwender, und versuchsweise angebrachte Mausklicks bewirken nichts. Zwar kennt auch Ion die Maus, doch am komfortabelsten steuern Sie ihn mit der Tastatur, die wichtigsten Aktionen finden Sie in Tabelle 1. Bei den Kommandos, hinter denen (EA) für Eingabeaufforderung steht, öffnet Ion zur Interaktion eine Kommandozeile.
Tabelle 1: Die wichtigsten Shortcuts
| [F1] | Eine Manpage anzeigen (EA) |
| [F2] | xterm starten |
| [F3] | Programm starten (EA) |
| [F4] | SSH-Verbindung herstellen (EA) |
| [F5] | Datei bearbeiten (EA) |
| [F6] | Datei ansehen (EA) |
| [F9] | Die Arbeitsfläche wechseln oder eine neue anlegen (EA) |
| [F12] | Ion beenden (EA) |
| [Alt-Pfeil rechts/links] | Eine Arbeitsfläche nach rechts/links |
| [Alt-g] | Zu einem anderen Rahmen wechseln (EA) |
| [Alt-p/n/Tab] | Einen Rahmen nach oben/unten/rechts |
| [Alt-c] | Aktives Objekt schließen |
| [Alt-k] [c] | Aktive Anwendung gewaltsam beenden |
| [Alt-k] [n/p] | Zur nächsten/vorherigen Registerkarte eines Rahmens wechseln |
| [Alt-a] | Anwendung in den aktiven Rahmen integrieren (EA) |
| [Alt-s]/[Alt-k] [s] | Rahmen horizontal/vertikal teilen |
Zum Kennenlernen rufen Sie am besten über [Alt-F1] die Ion-Manpage auf, die alle Navigationskommandos beschreibt. [F2] öffnet ein xterm in einem neuen Tab (Abbildung 1). Nachdem der Rahmen jetzt mehrere Reiter enthält, kommt auch Ihr Schreibtischnager zum Zug: Per Mausklick wechseln Sie zwischen den Registerreitern. Alternativ bringt Sie das Tastaturkürzel [Alt-k] [n] zum nächsten Fenster im aktuellen Rahmen.
Um ein Programm, etwa den Web-Browser Mozilla, zu starten, drücken Sie die Taste [F3]. Am unteren Bildschirmrand öffnet sich eine Kommandozeile, in der Sie den entsprechenden Befehl eingeben. Wie in der Shell erspart Ihnen die Auto-Vervollständigung mit der [Tab]-Taste Tipparbeit (Abbildung 2). Überlegen Sie es sich anders, bricht [Strg-c] die Aktion ab. Textbasierten Anwendungen, die in einem Terminal-Fenster laufen sollen, stellen Sie beim Aufruf einen Doppelpunkt voran:
:mutt
Ein einziger großer Rahmen mag zwar für einen Browser sinnvoll sein, oft will man aber mehrere Dinge gleichzeitig im Blick behalten. Die Tastenkombination [Alt-s] teilt den aktiven Rahmen horizontal, für einen vertikalen Split sorgt [Alt-k] [s]. Das Teilungsspielchen lässt sich beliebig oft fortsetzen und wird nur durch Ihre Bildschirmgröße begrenzt.
Die so entstandenen Rahmen vergrößern Sie mit [Alt-r] und der entsprechenden Pfeiltaste, oder Sie ergreifen den Rand mit der linken Maustaste und ziehen ihn aufs gewünschte Maß (Abbildung 3). Wollen Sie eine Anwendung in einen anderen Rahmen verschieben, ziehen Sie den dzugehörigen Reiter mit der mittleren Maustaste auf den Zielrahmen und lassen ihn fallen.
Die Navigation in der Rahmenlandschaft funktioniert mit [Alt-p] (nach oben) und [Alt-n] (nach unten), durch nebeneinander liegende Frames springen Sie mit [Alt-Tab]. Wird es doch einmal unübersichtlich, lässt sich jeder Rahmen mit [Alt-Enter] in einer neuen Arbeitsfläche in den Vollbildmodus schalten. Ein weiteres [Alt-Enter] macht die Aktion rückgängig und verstaut das Programm wieder im Ursprungsrahmen. Anwendungen und überzählige Rahmen entfernen Sie mit der Tastenkombination [Alt-c].
Auch auf dem größten Bildschirm wird es irgendwann zu eng. Mit [F9] erhalten Sie eine Eingabeaufforderung, mit der Sie zu einer vorhandenen Arbeitsfläche wechseln oder eine neue schaffen. Ein Druck auf [Tab] in der Kommandozeile zeigt eine Liste der bestehenden Desktops; geben Sie einen nicht aufgeführten Namen an, legt Ion diesen an. Durch die bestehenden Arbeitsflächen können Sie sich statt mit [F9] auch mit [Alt-Pfeil links] und [Alt-Pfeil rechts] bewegen.
Brauchen Sie eine Anwendung von einem anderen Desktop, müssen Sie nicht erst lange suchen: [Alt-a] öffnet eine Kommandozeile, in der Sie das begehrte Fenster mit Hilfe der Auto-Vervollständigung auswählen und herüberholen.
So praktisch die Aufteilung in Rahmen auch ist, für manche Programme eignet sich ein Desktop mit frei beweglichen Fenstern einfach besser. Ein Beispiel dafür ist Gimp: Hier will man viele Fenster gleichzeitig im Auge haben und frei positionieren. Extra für diesen Zweck unterstützt Ion so genannte floating desktops, deren Fensterverwaltung der anderer Window-Manager gleicht. Im Gegensatz zu den gekachelten Arbeitsflächen gibt es diese jedoch nicht auf Knopfdruck. Nach einem Druck auf [F9] geben Sie in der Eingabezeile
WFloatWS:NAME
ein, wobei NAME für den Namen der neuen Arbeitsfläche steht. Auf diesem Desktop starten Sie über [F2] xterm und rufen Ihre Programme auf. Sie können hier Fenster gruppieren, indem Sie die Titelleiste eines Fensters mit der mittleren Maustaste in eine andere geöffnete Anwendung schieben (Abbildung 4).
Ein besonderes Goodie erwartet den Benutzer beim nächsten Start von Ion: Der Window-Manager speichert die Anzahl seiner Arbeitsoberflächen und die Rahmenaufteilung und stellt sie automatisch wieder her, allerdings ohne die bei Sitzungsende laufenden Programme.
Ions Standardkonfiguration liegt im Verzeichnis /usr/local/etc/ion-devel/. Um die Oberfläche Ihren persönlichen Bedürfnissen anzupassen, kopieren Sie die Datei ioncore.lua aus diesem Verzeichnis nach ~/.ion-devel/ und verändern sie dort nach Bedarf. Soll Ion beispielsweise den Rahmeninhalt bei Größenänderungen anzeigen, ersetzen Sie in der Zeile
enable_opaque_resize(FALSE)
den Ausdruck FALSE durch TRUE
Wer Ion anders einfärben will, muss nicht zum Editor greifen: Ion bringt mit den look-Dateien im Konfigurationsverzeichnis schon einige neue Outfits mit. Auf den gewünschten Look legen Sie im Verzeichnis ~/.ion-devel/ einen symbolischen Link mit dem Namen draw.lua an. Den Stil unserer Screenshots erhalten Sie mit dem Befehl
ln -sf /usr/local/etc/ion-devel/look-greyviolet.lua ~/.ion-devel/draw.lua
Nach dem nächsten Neustart von Ion schmückt den Fensterherrscher die grau-violette Farbgebung.
Glossar
Frames
Das englische Wort für "Rahmen", in diesem Zusammenhang eines von mehreren möglichen Unterfenstern in einem Hauptfenster.
Compiler
Ein Programm, das Quellcode in binären Objektcode übersetzt. Erst danach lässt sich eine in Sprachen wie C oder C++ geschriebene Anwendung ausführen.
Programmbibliotheken, vergleichbar mit DLL-Dateien unter Windows. Bei Bedarf lädt ein Programm benötigte Funktionen. Das spart Festplattenplatz und Arbeitsspeicher.
Xinerama
Eine Erweiterung für XFree86, die es erlaubt, eine Arbeitsfläche über mehrere Bildschirme anzulegen.
symbolischen Link
Ein Eintrag in einem Dateisystem, der wie eine gewöhnliche Datei oder ein Verzeichnis aussieht, jedoch auf eine Datei oder ein Verzeichnis an einem anderen Ort im Dateisystem verweist.
Infos
[1] Joachim Moskalewski: "Schlicht ausgeklügelt", LinuxUser 01/2002, S. 57, http://www.linux-user.de/ausgabe/2002/01/057-desktopia/desktopia-pwm-4.html