logoOL.gif
user_gelb_schwarz_or.gif
logoUL.gif
logoUR.gif claim.gif
LinuxUser LinuxCommunity EasyLinux Linux-Magazin International
      Anzeige
      Anzeige

Erschienen in LinuxUser 12/2008   »   Ausgabe bestellen

Schlanker Windowmanager Awesome

Herr der Fenster


Der Windowmanager Awesome soll extrem schnell, klein und dynamisch, kurz fantastisch sein − Grund genug, ihn einmal genauer unter die Lupe zu nehmen.   Falko Benthin

README
Der Windowmanager Awesome benötigt außergewöhnlich wenige Systemressourcen und bietet ein hohes Maß an Flexibilität.

Der Windowmanager Awesome [1] basiert auf dem Quellcode des Dynamic Window Manager DWM [2] und offeriert zum Verwalten von Fenster die beiden Modi "Floating" und "Tiling". Während Sie die Fenster im Floating-Modus selbst anordnen und deren Größe anpassen, übernimmt im Tiling-Modus Awesome diese Aufgaben für Sie. Der Windowmanager lässt sich komplett über die Tastatur bedienen, unterstützt unter anderem Multihead sowie echte Transparenz und ist dabei angenehm klein und schnell.

Die Installation

Awesome findet sich in den Repositories vieler Distributionen, Sie installieren es dann einfach über den Paketmanager. Allerdings kommt es vor, dass die Softwarequellen lediglich veraltete Versionen des Windowmanagers vorhalten. Wer Wert auf das aktuellste Release legt, kommt deshalb nicht darum herum, sich den Quellcode [3] herunterzuladen und selbst zu übersetzen.

Entscheiden Sie sich für diesen Weg, müssen Sie im Vorfeld die benötigten Abhängigkeiten installieren. Awesome erfordert Xlib, Xinerama, Xandr, Cairo, Pango, Imlib2 oder GTK+ und die Libconfuse. Letztere muss in der Version 2.6 oder neuer vorliegen, was es bei vielen Distributionen nötig macht, auch diese Bibliothek mit ./configure && make && make install aus den Quellen [4] zu übersetzen.

Nach dem Einrichten der benötigten Bibliotheken kompilieren und installieren Sie Awesome wie zuvor Libconfuse. Falls Sie X von der Kommandozeile starten, genügt es, die Zeile exec awesome in die ~/.xinitrc einzutragen, um Awesome zum Windowmanager Ihrer Wahl zu machen. Verwenden Sie dagegen einen Login-Manager wie GDM, KDM oder XDM, müssen Sie für diesen einen neuen Eintrag anlegen. Für den GDM kopieren Sie die angepasste awesome.desktop (Listing 1) in das Verzeichnis /usr/share/xsessions und die Datei awesome.sh (Listing 2) in Ihr Heimatverzeichnis. Führen Sie danach chmod 755 ~/awesome.sh im Terminal aus, um die Berechtigungen anzupassen.

Listing 1
[Desktop Entry]
Encoding=UTF-8
Name=Awesome
Comment=Awesome Window Manager
Exec=/home/USER/awesome.sh
Icon=
Type=Application

Listing 2
#!/bin/bash
~/.awesome/awesome_start.sh
exec awesome

Einrichtung

Nach dem ersten Start von präsentiert sich Awesome ohne jegliche Annehmlichkeiten wie beispielsweise ein Hintergrundbild oder sonstigen Eyecandy. Nicht einmal gewohnte Tastenfunktionen wollen so recht funktionieren. Sie sehen lediglich eine Statuszeile mit Schaltflächen, mit denen Sie zwischen den einzelnen Tags (Arbeitsflächen) und Layouts wechseln.

An Layouts stehen zur Verfügung tile, tileleft, tilebottom, tiletop, spiral, dwindle sowie max und floating. Die Tile-Layouts und ihre Spezialfälle spiral und dwindle teilen den Bildschirm in einen Master- und einen Stacking-Bereich. Der Masterbereich enthält das Fenster, das zuletzt geöffnet wurde, die anderen liegen im Stacking-Bereich (Abbildung ((1))).

((1)) Im Modus tile übernimmt Awesome die Anordnung der Fenster. Statt neue Fenster im Vordergrund zu öffnen, verkleinert er die bereits geöffneten Fenster und ordnet sie neu an.

Im Layout max nehmen Fenster den gesamten Raum ein; floating erlaubt es, die Position und Größe der Fenster selbst zu bestimmen. Die Floating-Eigenschaften, die alle Popup-Fenster besitzen, erlauben es, sie frei zu bewegen. Awesome ermöglicht das Festlegen eines individuellen Layouts für jedes Tag. Die Erscheinungsbilder zappen Sie während der Arbeit entweder per Klick auf das Icon oder mit den Tasten [Windows]+[Leer] durch.

Awesome anpassen

Als erstes gilt es, den Desktop mit einem Hintergrund verschönern. Dazu brauchen Sie ein Hilfsprogramm, das Hintergrundbilder auf den Desktop zaubert. Im Test entschieden wir uns für Feh [5]. Sie starten den Hintergrundzeichner mit der Zeile feh --bg-scale /Pfad/zum/Bild.jpg in der Konfigurationsdatei ~/.xinitrc.

Da es zum individuellen Einrichten der Awesome-Statusleiste mehrere Befehle auszuführen gilt, lohnt es sich, ein entsprechendes Script anzulegen, zum Beispiel als ~/.awesome/awesome_start.sh (Listing 3). Anschließend machen Sie es mit chmod 755 ~/.awesome/awesome_start.sh ausführbar und binden es in die ~/.xinitrc ein.

Listing 3
#!/bin/bash
# Awesome-Startskript
# ~/.awesome/awesome_start.sh
sleep 2
feh --bg-scale /Pfad/zum/Hintergrundbild.jpg
while true
do
  #Zeit anzeigen und alle 60 Sekunden aktualisieren
  echo "0 widget_tell mystatusbar zeit text `date +"%d. %B %H:%M"`" | awesome-client
  sleep 60
done

Um die Änderungen anzuwenden, starten Sie Awesome neu, worauf er mit dem gewählten Erscheinungsbild hochfährt.

Jetzt geht es daran, sich den Windowmanager untertan zu machen und an die eigenen Bedürfnisse anzupassen. Fast alle Einstellungen erfolgen in der Konfigurationsdatei ~/.awesomerc. Diese enthält die Sektionen screen, rules, keys, mouse und menu, die teilweise schon recht brauchbar vorkonfiguriert sind.

In screen passen Sie die Farben, Namen der Tags, Layouts sowie das Erscheinungsbild und Verhalten der Status- und Taskleiste der Client-Fenster (also Programme) an. Die Zeilen der Subsektion tags{} (Listing 4) definieren zum Beispiel sieben Tags mit unterschiedlichen Layouts. In der rules-Sektion legen Sie fest, wie sich bestimmte Programme nach dem Start verhalten sollen. So erlaubt es Awesome beispielsweise, mit der Anweisung rule {name = "opera" tags = "Misc2" float = true} den Webbrowser Opera stets im Tag Misc2 im Floating-Layout zu starten.

Listing 4
tag Konsole {layout = "tile"}
tag Web {layout = "max"}
tag eMail {layout = "max"}
tag Chat {layout = "floating"}
tag Grafik {layout = "floating"}
tag Misc1 {layout = "tile"}
tag Misc2 {layout = "tile"}

Tastatur konfigurieren

Vor allem Liebhaber von Tastaturkürzeln kommen mit Awesome voll auf ihre Kosten und sollten sich die Rubriken keys und mouse genau ansehen. Diese enthalten die an Maustasten und Shortkeys gebunden Aktionen. Die Shortkeys in der Voreinstellung verwenden sehr oft die Windows-Taste (Mod4), was für den ein oder anderen Linux-Anwender unter Umständen doch recht gewöhnungsbedürftig ist. Die Shortkeys lassen sich jedoch problemlos an individuelle Wünsche anpassen, sodass sich niemand sklavisch den Voreinstellungen unterwerfen muss. Die Tabelle "Shortkeys und Maustasten" listet einige Tasten- und Maus-Bezeichnungen auf, um Ihnen langwieriges Probieren zu ersparen.

Shortkeys und Maustasten
BezeichnungTaste/Aktion
Mod1Alt (links)
Mod2Numlock
Mod4Windows
Mod5Alt (rechts)
Maustasten
Button 1linke Maustaste
Button 2rechte Maustaste
Button 3mittlere Maustaste
Button 4Mausrad nach oben
Button 5Mausrad nach unten

Der Eintrag aus Listing 5 gibt beispielsweise an, dass das Drücken von [Windows] und [Eingabe] ein neues Terminalfenster öffnet (command = "spawn"). Das Schlüsselwort exec sollte in der Argumentzeile niemals fehlen, denn das führt unter Umständen dazu, dass sich der Rechner nicht mehr verhält, wie Sie es erwarten. Die meisten der in der .awesomerc verwendeten Kommandos lassen ihren Nutzen aus dem Namen erschließen. Was Ihnen nicht klar ist, sollten Sie einfach einmal ausprobieren.

Listing 5
key
{
modkey = {"Mod4"}
key = "Return"
command = "spawn"
arg = "exec xterm"
}

Nach dem Anpassen der ~/.awesomerc prüfen Sie mit der Eingabe von awesome -k die korrekte Konfiguration der Steuerdatei. Enthält sie keine Fehler, sollte Awesome sich zukünftig wunschgemäß verhalten.

Statusleiste anpassen

Die Awesome-Statusleiste lässt sich zu mehr nutzen, als nur die Tags und deren Fenster anzuzeigen. So erlaubt sie beispielsweise die Ausgabe von Zeit und Datum oder der Systemauslastung mit Hilfe von Widgets. Die Informationen in der Statusleiste leitet das Kommando awesome-client weiter. Dazu ein kleines Beispiel, das die Anzeige von Datum und Uhrzeit realisiert.

Jede Information in der Statusleiste erfordert eine Textbox in der screen-Subsektion statusbar mystatusbar, in die Awesome-client später die entsprechenden Informationen umleitet − im Fall einer Uhr etwa:

textbox zeit
{
text = " "
}

In diese Box fügt der Befehl echo "0 widget_tell mystatusbar zeit text `date +"%d. %B %H:%M"`" | awesome-client (Listing 3) Datum und Uhrzeit ein. Das heißt soviel wie: "Awesome-client, sage dem Widget uhr in der Statusleiste mystatusbar, dass es die Ausgabe des Befehls date anzeigen soll." Statt Texten kann Awesome-client auch Bilder in die Statusleiste zeichnen, wobei die entsprechende Box dann eine Iconbox ist. Daneben enthält Awesome noch eine Anzahl anderer Widget-Typen wie progressbar oder graph. Mehr dazu lesen Sie bei Interesse im Awesome-Wiki [6].

Menüs einrichten

Auch wenn es sich mit der Shell und Shortkeys wunderbar arbeiten lässt, ist ein Startmenü mit den am häufigsten verwendeten Programmen doch manchmal komfortabel und wünschenswert. Um selbiges in Kürze zu genießen, müssen Sie einige Dateien anpassen.

Im Schritt bestücken Sie eine Datei, beispielsweise ~/.awesome/menu, zeilenweise mit den Startbefehlen Ihrer favorisierten Programme:

xterm
firefox
sylpheed
...

Danach binden Sie das Menü in der ~/.awesomerc entweder an einen Shortkey oder ein Icon in der Statusleiste. Wir haben dazu die Belegung des Awesome-Logos umfunktioniert, sodass es jetzt unser Menü aufruft (Listing 7).

Listing 7
iconbox logo
{
image = "/usr/local/share/awesome/icons/awesome16.png"
mouse
{
button = "1"
command = "spawn"
arg = "exec `cat ~/.awesome/menu | awesome-menu 'ausführen:'`"
}
}

Das sich nun per Mausklick in der Statusleiste öffnende Menü ist zugegebenermaßen sehr schlicht. Darüber hinaus müssen Sie noch eintippen, welchen Befehl sie ausführen wollen (Abbildung ((2))), aber eine Erleichterung kann es durchaus darstellen. Anleitungen, wie Sie Menüs mit mehr Finesse erstellen, finden Sie wiederum im Awesome-Wiki [6].

((2)) Awesome lässt sich sehr gut an die Bedürfnisse seines Nutzers anpassen und nach dessen Gusto mit allerlei Widgets aufpeppen.

Fazit

Awesome ist zwar kein durchweg intuitiver Windowmanager, wächst seinem Anwender nach einiger kurzen Eingewöhnung aber schnell ans Herz. Er versieht seinen Dienst schnell, lässt sich perfekt an die eigenen Vorstellungen anpassen und geht vor allem sehr schonend mit den Systemressourcen um. Vor allem Besitzer älterer Hardware und alle, die gern mit der Tastatur arbeiten, werden ihn zu schätzen wissen. (tle)

Infos
[1] Awesome-Homepage: http://awesome.naquadah.org
[2] DWM: http://www.suckless.org/wiki/dwm/
[3] Awesome-Quellen: http://awesome.naquadah.org/download/
[4] Libconfuse: http://www.nongnu.org/confuse/
[5] Feh: http://www.linuxbrit.co.uk/feh/
[6] Awesome-Wiki: http://awesome.naquadah.org/wiki/index.php/Main_Page

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2014 Medialinx AG

[Linux-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Ubuntu User] [Linux Technical Review] [Smart Developer] [Linux Magazine] [Linux Pro Magazine] [Ubuntu User]
[Smart Developer] [EasyLinux Poland] [Linux Magazine Poland] [Linux Magazine Brasil] [EasyLinux Brasil] [Linux Magazine Spain]