26 Dezember 2012 19:32

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.

Kommentare

Martin, 19.11.2013 15:04
Hi,

und warum hast du dann noch KDE drunter, wenn du eigentlich alles über Awesome machst?
SammysHP, 21.11.2013 11:06
Awesome ist ein Window Manager, kümmert sich also um die Steuerung der Fenster. Also wo was angezeigt werden soll, die Steuerung der Fenster usw.

KDE ist ein Desktop Environment. Dazu gehören Dinge wie Schriftarten, Farben, Design, Hintergrundprogramme etc. Der Window Manger von KDE ist KWin.

Der Grund, warum ich KDE nutze, ist der, dass Awesome kein Desktop Environment ist. In der Tat habe ich auf meinem Desktop versucht, komplett ohne Desktop Environment auszukommen. Es dauert lange, bis man alles Notwendige eingerichtet hat. Irgendwann kommt zumindest ein Teil von KDE zwangsläufig hinzu, wenn man KDE-Programme nutzen möchte (Dolphin, Okular, …).
Martin, 22.11.2013 18:05
Die Unterscheidung DE/WM ist mir soweit bewusst. Es hält dich doch nichts ab, unter Awesome einfach weiter die Programme aus der KDE SC zu benutzen. Und sobald du plasma-desktop deaktivierst, ist plasma-nm deaktiviert, und du hast auch keine Netzwerkverwaltung mehr, und musst network-manager-applet installieren.

Das mit den Schriften habe ich in der Tat auch gemerkt, als ich mal nur eine reine Awesome Sitzung gestartet hatte. Da waren alle Schriften leicht anders. Da ist die Konfiguration über KDE wahrscheinlich einfacher, da ist was dran :-)
SammysHP, 22.11.2013 21:39
KDE ist nicht ohne Grund komplex und umfangreich. Plasma nutze ich nicht. Warum ich (zumindest auf der aktuellen Installation auf dem Notebook) noch KDE im Hintergrund nutze:

- Design von GTK+ und Qt. Geht auch manuell (bei mir auf dem Desktop), ist aber anstrengend.

- Die ganzen netten Konfigurationsmöglichkeiten in systemsettings. Ich konfiguriere inzwischen zwar fast alles per Hand, aber trotzdem ist es immer mal wieder eine kleine Hilfe.

- Hintergrund-Programme: polkit-agent, gpg-agent, keyrings etc. Klar, das kann man auch alles über seine .xinitrc starten, aber in KDE läuft es out-of-the-box.

Es gibt auch Leute, die gerne Akonadi, Nepomuk und Co. nutzen möchten. Dabei startet sich sowieso kdeinit inklusive Abhängigkeiten. Die erste KDE-Anwendung, die ich starte (und sei es der Dateidialog einer Qt-Anwendung), braucht 2-4 Sekunden länger zum Starten, da kdeinit erstmal anlaufen muss.

Zusammengefasst: Auf dem Desktop komme ich ganz gut ohne KDE aus, aber man kann sich mit einem DE im Hintergrund sehr viel Arbeit sparen.
Martin, 27.12.2013 22:48
Ich hatte mal Awesome alleine probiert, da fing es schon mit den Passwörtern für NetworkManager an. Das ist mit Keyrings schon deutlich praktischer schon. Daher werde ich wohl auch dabei bleiben.
SammysHP, 02.01.2014 19:08
Das hat mit Awesome aber nichts zu tun. Du kannst ja weiterhin dein Desktop Environment nutzen und nur den Window Manager austauschen.
Powered by BetaBlog
Login | RSS Beiträge RSS Kommentare Impressum