Fenstermanager unter Linux

Stefan Münz hat mich in Buzz auf die Idee gebracht, mal was über die Aufgabe des Fenstermanagers unter Linux zu schreiben. Dabei möchte ich insbesondere auf Compiz eingehen, dazu später mehr.

Eins vorweg: relativ bildlastig!

Unter Windows ist man es gewohnt, dass jedes Fenster eine Titelleiste hat, in der auch die Buttons zum Minimieren, Maximieren und Schließen sind. Wenn man auf die Titelleiste klickt, kommt das Fenster nach vorne und ist aktiviert. An den Rändern kann man ein Fenster in der Größe verändern. Das ist bei Linux im Prinzip nicht der Fall. Eine Anwendung, die ein neues Fenster erzeugt, sieht zunächst mal relativ nackt aus, bei Nautilus z.B. so:

Ein Fenster ohne Decoration-Manager

Ohne Decoration-Manager sieht ein Fenster so aus

Wenn mehrere Fenster geöffnet sind, werden sie auch nicht einfach nach vorne geholt, wenn man sie anklickt. Hier kommen erst zwei Programme zum Einsatz: zum einen der Fenster-Manager, zum anderen der Decoration-Manager.

Der Fenster-Manager verwaltet alle Fenster für den X-Server. Der X-Server ist unter Linux allgemein die graphische Oberfläche, im Gegensatz zu den virtuellen Terminals. Wer es einmal ausprobieren will, kann mit [Strg+Alt+F1] bis [Strg+Alt+F8] (erst weiterlesen!) auf eins der virtuellen Terminals schalten. Hat man erst mal die graphische Oberfläche verlassen, kann man mit [Alt+F1] bis [Alt+F8] umschalten. Der X-Server läuft normalerweise auf #7, also mit [Alt+F7] wieder zurückschalten.

Zurück zum Fenster-Manager. Der ist dafür zuständig, die Fenster in der richtigen Reihenfolge übereinander zu legen, ein Fenster zu aktivieren, verschieben, vergrößern und so weiter. Er sorgt auch dafür, dass das aktivierte Fenster Tastatureingaben annehmen kann. Er bietet dies Funktionen an, aber zeichnet selbst noch keine Titelleiste, so dass man immer noch nicht viel mit den Fenstern machen kann.

Hier kommt der Decoration-Manager ins Spiel. Er zeichnet letztlich den Rahmen mit den Buttons um die Fenster herum. Allerdings sei gesagt, dass meistens der Decoration-Manager zum Fenster-Manager gehört. Die am häufigsten genutzten Programme sind:

  • Metacity, der Standard-Fenster-Manager von GNOME, zusammen mit dem gtk-window-decorator als Decoration-Manager
  • KWin, der Fenster-Manager von KDE, zusammen mit dem kde-window-decorator
  • Compiz, ein Fenster-Manager mit vielen Effekten, kann bei GNOME und KDE alternativ benutzt werden. Benutzt den compiz-decorator, welcher wiederum auf den gtk-window-decorator zurückgreift.
  • Emerald ist kein Fenster-Manager, sondern nur ein alternativer Decoration-Manager für Compiz, sehr gut anpassbar.

Zuletzt sei noch die Existenz sogenannter Composition-Manager erwähnt. Bei Fenster-Managern ohne einen solchen zeichnen die Fenster direkt über die Grafikkarte auf den Bildschirm. Das ist zwar relativ ressourcenschonend, hat allerdings auch ein paar Nachteile. Wenn ein Fenster, das vorher verdeckt war, wieder sichtbar wird, muss der verdeckte Teil neu gezeichnet werden. Graphische Effekte wie Alpha-Transparenz sind nicht möglich. Bei Fenster-Managern mit Compositing zeichnen alle Programme dagegen in einen eigenen Zeichenbereich, den der Fenster-Manager dann auf der Grafikkarte zusammensetzt. Dabei können einzelne Fensterbereiche auch transparent gezeichnet werden.

KWin und Metacity arbeiten normalerweise ohne Compositing, wenn die Grafikkarte (bzw. der Treiber) 2D-Beschleunigung unterstützt kann aber auch Compositing eingeschaltet werden. Das ergibt dann “leichte” Desktop-Effekte wie Live-Vorschau der Fenster im Umschalter (Alt+Tab) oder den Schatten um Fenster herum. Wenn 3D-Beschleunigung möglich ist, kann man auch Compiz benutzen. Compiz ist immer auch ein Compositing-Manager, und bekannt für die vielen Effekte, dazu jetzt mehr.

Compiz

Compiz hat eine relativ komplexe Geschichte, die aus einigen Abspaltungen und Wiedervereinigungen besteht. Compiz wird manchmal auch als Compiz Fusion bezeichnet. Compiz ist dabei im Prinzip der reine Fenster-Manager, während Compiz Fusion alle Plugins für Compiz bereitstellt.

Compiz ist stark modular aufgebaut, sogar das Verschieben oder Vergrößern wird durch Plugins realisiert. Daneben gibt es aber auch sehr viel mehr.

Wer in GNOME unter “Erscheinungsbild” die einfachen Desktop-Effekte aktiviert, schaltet von Metacity auf Compiz mit einer “Standard-Ausstattung”. Die erweiterten Effekte aktiveren darüber hinaus einigen graphischen Schnickschnack, den manch einer braucht, während andere ihn gar nicht wollen. Daneben gibt es noch zwei weitere Einstellungsmöglichkeiten: da ist zum einen ein “Einfacher CompizConfig Einstellungsmanager” (simple-ccsm in den Paketquellen und im Terminal) oder der normale “CompizConfig Einstellungsmanager” (ccsm). Während der Simple-CCSM einige übliche Einstellungsmöglichkeiten bei sehr einfacher Oberfläche bietet, ist der CCSM relativ umständlich, bietet dafür alle möglichen Einstellungen für Compiz. Im CCSM können auch gezielt einzelne Plugins (de)aktiviert werden.

Der einfache CompizConfig Einstellungs-Manager (simple-ccsm)

Der einfache CompizConfig Einstellungs-Manager (simple-ccsm)

Der CompizConfig Settings-Manager (ccsm)

Der CompizConfig Settings-Manager (ccsm)

Einige der Plugins möchte ich hier noch erwähnen. Für einige Aufgaben gibt es verschiedene Alternativen. Um zwischen den virtuellen Desktops umzuschalten gibt es z.B. die Desktop-Tafel (alle Desktops werden virtuell auf einer großen Fläche angeordnet) oder den bekannten Würfel. Genauso gibt es auch verschiedene Anwendungs-Umschalter.

Die meisten Plugins lassen sich mit mehreren Methoden aktivieren. Meistens steht ein Tastaturkürzel, ein Mausbutton oder eine Bildschirmecke zur Verfügung, auch mit Modifiern (Strg,Alt,Shift,Super). Super ist die “Windows-Taste”. Bei Mausbuttons ist:

  1. Links
  2. Mitte
  3. Rechts
  4. nach oben scrollen
  5. nach unten scrollen
  6. nach links scrollen
  7. nach rechts scrollen
  8. Zusatzbutton 1 (Im Browser: zurück)
  9. Zusatzbutton 2 (Im Browser: vor)

Konzentrationshilfe (unter Barrierefreiheit)

Die Konzentrationshilfe blendet automatisch alle Fenster außer dem aktiven ab, um nicht abzulenken. Es lassen sich Einstellungen wie Helligkeit, Transparenz und Sättigung einstellen.

Konzentrationshilfe im Einsatz

Konzentrationshilfe im Einsatz

Sichtbarkeit (unter Barrierefreiheit)

Dieses Plugin arbeitet ähnlich wie Aero Peak unter Windows Seven. Wenn man ein Fenster mit der Maus berührt, werden alle anderen Fenster stark durchsichtig.

Sichtbarkeits-Plugin

Sichtbarkeits-Plugin

Desktop-Würfel (unter Arbeitsfläche)

Compiz ist für diesen Würfel bekannt. Er zeigt die virtuellen Arbeitsflächen auf den Seiten eines Würfels.

Der Desktop-Würfel

Der Desktop-Würfel

Hier möchte ich noch ergänzen, das einige Plugins speziell für den Würfel geschrieben wurden, also nur mit ihm funktionieren. Ich habe mit von der Compiz-Website noch das Atlantis-Plugin installiert:

Das Atlantis-Plugin

Das Atlantis-Plugin

Expo (unter Arbeitsfläche)

Eine Übersicht über alle Arbeitsflächen:

Expo

Expo

Animationen (unter Effekte)

Hier lassen sich einige Animationen für das Öffnen, Schließen, Einrollen und Aktivieren von Fenster einstellen.

Fenster ein-/ausblenden (unter Effekte)

Wenn dieses Plugin aktiviert ist, faden die Fenster im Anwendungsumschalter (Alt+Tab). Außerdem werden nicht reagierende Programme dunkler und schwarz-weiß.

Fensterdekoration (unter Effekte)

Wie gesagt, bei Compiz ist alles ein Plugin. Mit diesem Plugin wird der Decoration-Manager aktiviert, hier lassen sich auch die Fenster-Schatten einstellen.

Fensterunschärfe (unter Effekte)

Der Effekt ist von Vista/7 bekannt: unter transparenten Bereichen sind andere Fenster unscharf.

Fensterunschärfe

Fensterunschärfe

Reflektionen (unter Effekte)

Ebenfalls von Vista/7 bekannt: Unter den transparenten Bereichen erscheinen noch Reflektionen. Ich habe mir die Reflektionen von Windows geklaut, weil mir die von Compiz nicht gefallen haben.

Reflektionen

Reflektionen

Wacklige Fenster (unter Effekte)

Eigentlich nur eine Spielerei: Wenn Fenster verschoben werden, wackeln sie als wären sie aus Gummi. Nebeneffekt: Sie kleben beim verschieben an anderen Fenstern.

Wacklige Fenster

Wacklige Fenster

Vorschaubilder (unter Sonstiges)

Nicht viel zu sagen: Vorschaubilder in der Taskliste bzw. im Dock.

Vorschaubilder

Vorschaubilder

Grid (unter Fensterverwaltung)

Fenster lassen sich in einem 2×2- oder 3×2-Gitter anordnen, änhlich wie AeroSnap unter Windows 7.

Grid

Grid

Maximumize (unter Fensterverwaltung)

Mit Maximumize können Fenster einfach auf die größtmögliche noch freie Fläche gebracht werden.

Maximumize - Vorher

Maximumize - Vorher

Maximumize - Danach

Maximumize - Danach

Skalieren (unter Fensterverwaltung)

Skalieren bedeutet nicht ein Fenster in der Größe zu ändern, dafür gibts ein anderes Plugin ;-) (“Fenster skalieren”). Bei “Skalieren” werden alle Fenster auf dem Desktop verteilt, sodass man durch Klicken eins auswählen kann.

Skalieren

Skalieren

Unter “Werkzeuge” gibt es noch die “Scale-Erweiterungen” (Fenster aus der Übersicht heraus schließen oder eine Vollbildvorschau) sowie den “Scale-Fenstertitelfilter” (Fenster durch Tippen filtern)

Anwendungsumschalter

Die meisten kennen ja die [Alt+Tab]-Funktion. Die gibts unter Windows wie unter den meisten Linux-Fenstermanagern. Bei Compiz gibts es dagegen verschiedene, die sich auch nebeneinander benutzen lassen (z.B. auf verschiedenen Tastenkombinationen). Einige möchte ich hier noch vorstellen. Sie finden sich alle unter “Fensterverwaltung”.

Anwendungsumschalter

Der Standard von Compiz: Die Fenster bewegen sich unter dem Rahmen durch.

Anwendungsumschalter

Anwendungsumschalter

Static Application Switcher

Ähnelt eher dem von Windows: Die Fenster bleiben stehen, der Rahmen bewegt sich.

Static Application Switcher

Static Application Switcher

Shift Switcher (Modus Hülle)

Fenster auswählen im Coverflow-Stil:

Shift Switcher - Hülle

Shift Switcher - Hülle

Shift Switcher (Modus Umdrehen)

Fenster auswählen im Vista/7-Stil (Aero Flip):

Shift Switcher - Umdrehen

Shift Switcher - Umdrehen

Ring-Anwendungsumschalter

Die Fenster werden in einem sich drehenden Ring angeordnet:

Ring-Anwendungsumschalter

Ring-Anwendungsumschalter

Stack Switcher

Der ist standardmäßig nicht dabei, hab ich manuell installiert. Netter 3D-Effekt.

Stack Switcher

Stack Switcher

5 Kommentare zu “Fenstermanager unter Linux”

  1. CocaineRodeo
    5. August 2010 03:53
    1

    Klasse Beitrag! Gibt ne gute Übersicht über das Thema. :)

  2. Didi
    20. Januar 2011 11:17
    2

    Obwohl ich unter “Erscheinungsbild” auf “Extra” umgeschaltet und den ccm installiert habe, wollen einige Dinge trotz Aktivierung nicht funktionieren. Das betrifft z. B. den Würfel und die Fensterunschärfe. Den Punkt “Konzentrationshilfe” unter “Barrierefreiheit” gibt es bei mir gar nicht.

  3. Felix
    20. Januar 2011 11:22
    3

    Was heißt “funktioniert nicht”? Die Plugins sind aktiviert, aber es passiert nichts?
    Bist du sicher, dass Compiz auch aktiviert ist? Wenn keine 3D-Grafiktreiber vorhanden sind, wird normalerweise wieder auf Metacity umgeschaltet. Welches System benutzt du eigentlich? Überprüf mal, ob die anderen Plugins (z.B. die Anwendungsumschalter) funktionieren.
    Die Fensterunschärfe hat wohl Probleme mit einigen Grafikkarten. Bei meinem alten Rechner gings auch nicht, auf meinem Laptop problemlos.

  4. Didi
    20. Januar 2011 11:36
    4

    Ich meine, dass Compiz aktiviert ist. Denn im ccm ist unter “Effekte” “Wacklige Fenster” aktiviert…und sie wackeln.
    Beim Klick auf “Anwendungsumschalter” erscheinen plötzlich Hinweise auf Konflikte mit anderen Plugins, die ich teilweise deaktivieren soll. Da lasse ich lieber die Finger von.

  5. Felix
    20. Januar 2011 11:39
    5

    Na ja, “Konflikte” ist etwas übertrieben. Bei den meisten Umschalter ist [Alt+Tab] als Tastenkombination eingestellt. Solange nur eins von denen aktiviert ist, macht das nichts. Wenn du aber mehrere Umschalter aktivierst, meckert Compiz, weil mehrere Umschalter auf die gleiche Tastenkombination reagieren wollen. Am besten änderst du die entsprechenden Kombination, bevor du das Plugin aktivierst.