awesome WM im Schnelldurchlauf
awesome ist ein Fenstermanager für Linux. Er verwaltet die einzelnen "Fenster", indem er ihren Inhalt an der gewünschten Position zeichnen lässt. Die meisten werden das von den verschiebbaren Fenstern oder der Taskleiste auf dem Desktop kennen.
Aber awesome ist anders. awesome ist ein tiling-basierter Fenstermanager. Das heißt, dass es (zumindest primär) keine verschiebbaren Fenster gibt, sondern alle Fenster (auch Clients genannt) nebeneinander erscheinen ohne sich zu überlappen. Das mag für den einen oder anderen verwirrend klingen, aber es erlaubt sehr effizientes Arbeiten, wenn man sich einmal eingearbeitet hat.
In diesem Beitrag werde ich einen Schnelleinstieg zu awesome geben, von der Installation bis zu den Basics der Bedienung und Konfiguration.
Installation
Die folgende Anleitung bezieht sich auf ein Kubuntu 12.04, welches awesome in der Version 3.4.11 mit sich bringt. Jede größere Version von awesome hat umfangreiche Änderungen in der Schnittstelle, sodass die Konfiguration leider nicht 1:1 übernommen werden kann.
Der Anfang ist ganz einfach: Man installiert das Paket awesome, entweder über die grafische Oberfläche oder – so wie ich – über die Konsole:
$ sudo apt-get install awesome
Das alleine reicht bei KDE jedoch noch nicht, zuerst muss dem Desktop Manager (hier: KDM) klar gemacht werden, dass es awesome gibt. Entweder wechselt man den DM oder legt für KDM die Datei /usr/share/kde4/apps/ksmserver/windowmanagers/awesome.desktop mit folgendem Inhalt an:
[Desktop Entry]
Exec=awesome
TryExec=awesome
Name=awesome
Anschließend kann man in den Systemeinstellungen unter "Standard-Komponenten → Fenstermanager" awesome auswählen.
KDE aufräumen – weniger ist mehr
KDE ist ein großer Haufen von Tools und Konfigurationen. In seiner Gesamtheit ist vieles miteinander verknüpft. Da wir nun aber nicht mehr Kwin als Fenstermanager nutzen, können andere Dienste nicht mehr funktionieren bzw. sind hinderlich. Daher deaktivieren wir sie einfach.
In den Systemeinstellungen muss zuerst unter "Starten und Beenden → Diensteverwaltung" der Dienst "Notification Helper" deaktiviert werden. Nur so kann der Systemtray (obwohl der so eigentlich gar nicht heißt, aber das ist eine andere Geschichte) in awesome genutzt werden. Außerdem kann "Statusbenachrichtigungs-Verwaltung" deaktiviert werden (ich meine, dass dies notwendig ist, um die Benachrichtigungen von awesome nutzen zu können).
Weitere unnötige Dienste sind Plasma (KDE Desktop/Leisten/Widgets) und krunner (der Starter, den man oben per Tastendruck einblenden kann). Dies macht man, indem man die Dateien /usr/share/autostart/(plasma-desktop|krunner).desktop nach ~/.kde/share/autostart kopiert. Anschließend kann man sie in den Systemeinstellungen unter "Starten und Beenden → Autostart" deaktivieren.
Weiterhin habe ich alle globalen Hotkeys in KDE deaktiviert, da ich diese über awesome verwalte.
Die ersten Schritte
Nachdem man sich aus- und wieder eingeloggt hat, wird man – wenn alles funktioniert hat – mit dem Desktop von awesome begrüßt. In der Standardkonfiguration sollte man oben eine Art Taskleiste (die wibox) sehen, ansonsten lediglich ein Wallpaper. Viel mehr wird man wohl auch nie brauchen, awesome ist halt minimalistisch (oder anders gesagt: man kann sich auf die Arbeit konzentrieren und wird nicht abgelenkt).
Mit einem Linksklick auf das awesome-Logo oder per Rechtsklick auf das Wallpaper öffnet sich ein Menü, über welches man Programme starten kann. Da sind nicht alle aufgeführt, wie sie in KDE sind, da dmenu genutzt wird. Ich selbst benutze dieses Menü aber sowieso nicht. Viel wichtiger ist es im Moment sowieso, sich mit der Grundlegenden Bedienung vertraut zu machen.
awesome wird komplett über die Tastatur gesteuert (obwohl einige Dinge auch mit der Maus erledigt werden können). Dafür gibt es eine sogenannte Meta-Taste, welche fast alle Befehle einleitet. Diese ist in der Standardkonfiguration die Windows-Taste.
Oben in der wibox befinden sich kleine Kästchen mit Nummern von 1 bis 9. Das sind Indikatoren, die den aktuellen Tag, eine Art virtuelle Arbeitsfläche kennzeichnet (gibt es auch in KDE und wird intern auch gleich gehandhabt). Wechseln kann man die Tags entweder per Klick auf so einen Indikator oder per Meta+[1-9] (die Zahlen oben auf der Tastatur).
Wichtig unter Linux ist die Konsole, diese lässt sich per Meta+Return aufrufen. Schließen kann man den Client (das "Fenster") mit Meta+Shift+C. Wenn man ein Programm ohne die Konsole starten will, so lässt sich mit Meta+R ein Befehl eingeben, ähnlich wie bei krunner.
Hat man mehrere Clients geöffnet, so lässt sich das Layout mittels Meta+Space (bzw. in umgekehrter Richtung mit Meta+Shift+Space) durchwechseln. Das aktuelle Layout wird oben rechts in der wibox angezeigt. Zwischen mehreren Clients kann man wechseln, indem man mit der Maus über sie fährt oder Meta+J bzw. Meta+K drückt.
Viele weitere voreingestellte Befehle und Kombinationen kann man in der Konfiguration nachlesen, mit der man sich sowieso befassen muss…
Konfiguration
awesome wird über eine Datei namens rc.lua konfiguriert. Wie der Name schon andeutet, geschieht dies mittels der Scriptsprache Lua. Die Sprache ist zwar gewöhnungsbedürftig, ist von ihrem Umfang jedoch überschaubar und so schnell zu erlernen.
Die Standardkonfiguration befindet sich in /etc/xdg/awesome/rc.lua. Diese sollte man zuerst nach ~/.config/awesome/rc.lua kopieren und anschließend lesen. Vieles dürfte sich danach von selbst erklären (z.B. ein großer Teil der Tastenkombinationen, die man ggf. einfach ausprobieren sollte). Andere Dinge hingegen mögen verwirrend sein. Man kann sich hier richtig austoben und alles nach seinem Geschmack konfigurieren. Das bedeutet jedoch auch, dass ich schlecht mit meiner Einführung fortfahren kann, denn dafür ist dieses Thema zu komplex.
Ein sehr guter Einstieg in die Konfiguration bietet das awesome Wiki. Dort kann man sich einen Überblick schaffen oder nach konkreten Dingen suchen. Ist man tiefer in die Konfiguration eingestiegen, hilft einem die API Dokumentation weiter. Diese ist jedoch nicht vollständig und aufgrund der Versionsunterschiede manchmal unzutreffend. Dann hilft nur noch ein Blick in den Source oder eine Nachfrage im IRC Channel (#awesome auf OFTC).
Hilfreiche Tools
Um den Rechner auf "KDE-Art" herunterzufahren oder sich abzumelden ist das Programm kshutdown äußerst hilfreich, welches dieses über D-Bus erledigt (und somit keine Superuser-Rechte benötigt). Man kann dann eine grafische Oberfläche über kshutdown starten oder sich z.B. über kshutdown -l ausloggen. Die man Page weiß alles weitere.
Für Screenshots ist das Programm scrot zu empfehlen. Ich habe ihm einige Tastenkombinationen zugewiesen:
awful.key({ modkey, }, "p", false, function () awful.util.spawn("scrot -z /home/sammyshp/bilder/screenshots/%Y%m%d_%H%M%S.png") end),
awful.key({ modkey, "Shift" }, "p", false, function () awful.util.spawn("scrot -z -u /home/sammyshp/bilder/screenshots/%Y%m%d_%H%M%S.png") end),
awful.key({ modkey, "Control" }, "p", false, function () awful.util.spawn("scrot -z -s /home/sammyshp/bilder/screenshots/%Y%m%d_%H%M%S.png") end),
Um den Desktop zu sperren, nutze ich xlock aus dem Paket xlockmore. Wie man den Desktop automatisch bei einem Standby sperren kann, werde ich in einem weiteren Artikel zeigen.