Ubuntu 11.04 (aka Natty Narwhal)

Montag, 11. Juli 2011

Am Wochenende hab ich endlich Natty installiert. Das Karmic, das ich vorher drauf hatte, war ja seit April offiziell veraltet.

Ich hab noch nicht alles eingerichtet, wie ich es haben will, das wird wohl auch noch ein wenig dauern. Aber eins habe ich direkt gemerkt: Mein System ist wesentlich schneller. Fährt schneller hoch, Programme öffnen schneller. Vielleicht, weil ich noch nicht alles installiert und vollgemüllt habe. Also vorsichtig sein.

Die größte Änderung ist wohl Unity. Ich habe mich noch nicht ganz dran gewöhnt, aber ich denke, das wird klappen. Es mag noch ein paar Nachteile haben, aber ich sehe auch die Vorteile.

Die wichtigsten Dinge, die ich bis jetzt geändert habe:

  • Den Shortcut für den Launcher habe ich von <Super> (aka Windows-Taste) auf <Control><Super> geändert. Ich habe einige Programme und Compiz-Funktionen mit <Super> verknüpft, die würde Unity sonst blockieren.
  • Ich habe die Compiz-Fusion-Extra-Plugins installiert. Da sind einige für mich sehr wichtige dabei, z.B. Maximumize.
  • Statt der Desktop-Wand habe ich wieder auf den Würfel umgeschaltet. Ein bisschen Eye-Candy muss sein.
  • Das o.g. Maximumize hat Probleme mit den unsichtbaren Fenster-Rändern. Die habe ich daher abgeschaltet.

Zum letzten Punkt: bei den Themes Radiance und Ambiance gibt es links, rechts und unten ja nur einen 1-Pixel-Rand. Um Fenster trotzdem leicht resizen zu können, gibt es neben dem Griff in der rechten, unteren Ecke unsichtbare Ränder außerhalb des sichtbare Rands, an denen das Fenster gezogen werden kann. Maximumize kommt damit aber nicht zurecht. Da ich sowieso oft mit <Super>+Mittlerer Taste vergrößere, brauch ich die Ränder nicht.

Deaktiveren kann man die Ränder nur, indem man die Themes bearbeitet. Die Themes liegen unter /usr/share/themes/. Im Unterordner metacity-1 des jeweiligen Theme-Ordners liegt eine Datei namens metacity-theme-1.xml. Diese muss mit Root-Rechten bearbeitet werden, z.B. im Terminal mit sudoedit Dateiname. In dieser XML-Datei gibt es mehrere Stellen, die so oder so ähnlich aussehen: <padding left="2" right="2" bottom="2"/>, sprich alle <padding>-Tags. Diese Tags müssen mit <!-- und --> auskommentiert werden. Aus

	<padding left="2" right="2" bottom="2"/>

wird also

	<!--<padding left="2" right="2" bottom="2"/>-->

Damit die Änderung nach dem Speichern übernommen wird, muss in den Erscheinungsbild-Einstellungen kurz ein anderes Theme ausgewählt werden. Beim Zurückschalten werden die Ränder entfernt.

Fenstermanager unter Linux

Freitag, 30. Juli 2010

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