deskTOPia: ion

Aus LinuxUser 10/2003

deskTOPia: ion

Fliesenleger

Viele moderne Window-Manager überbieten sich gegenseitig an Features. Ion konzentriert sich aufs Wesentliche und geht dabei ganz neue Wege. Insbesondere Tastaturliebhaber werden begeistert sein.

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.

Sonderwünsche bei der Installation

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.

Desktop der besonderen Art

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.

Abbildung 1: Über Registerreiter wechseln Sie zwischen Programmen in einem Rahmen

Abbildung 1: Über Registerreiter wechseln Sie zwischen Programmen in einem 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
Abbildung 2: Auch die Ion-Kommandozeile beherrscht Auto-Vervollständigung

Abbildung 2: Auch die Ion-Kommandozeile beherrscht Auto-Vervollständigung

Effektive Vielfalt

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].

Abbildung 3: Durch Teilung erzeugte Rahmen variabler Größe

Abbildung 3: Durch Teilung erzeugte Rahmen variabler Größe

Alle meine Desktops

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).

Abbildung 4: Zwei Programme in einem schwebenden Fenster

Abbildung 4: Zwei Programme in einem schwebenden Fenster

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.

Einstellungssache

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.

Shared Libraries

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

[2] http://modeemi.fi/~tuomov/ion/

[3] http://www.lua.org/

LinuxUser 10/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben