Fluxbox

From Planetk.de

Jump to: navigation, search

Contents

Überblick

In den verbleibenden zwei freien Tagen der Sommersemesterferien habe ich auf meinem Desktop-Rechner ein neues Projekt gestartet. Angetrieben durch die wahnsinnig lange Startzeit von KDE bei Vollbetrieb auf den CIP-Rechnern an der Uni und die dazu lächerlich kurz erscheinende Zeit, in der der dagegen recht schlicht gehaltene window manager fluxbox "einfach da" war, habe ich mir vorgenommen, ihn einmal daheim aufzusetzen und gegen KDE zu testen. Jetzt genügt es mir daheim natürlich nicht, einfach nur eine minimalistische Oberfläche aufzusetzen. Ich will damit gut arbeiten können und daneben soll es noch gut aussehen. Dazu will ich die Oberfläche grafisch derart aufbügeln, dass sie KDE in nichts nachsteht. Habe ich das alles erst einmal am Laufen, wäre es ein leichtes, eine abgespeckte Konfiguration für meinen CIP-account zu übernehmen. Bevor sich jetzt jeder gleich draufstürzt - am Ende habe ich einen kurzen Überblick über Vor- und Nachteile aufgelistet und mein eigenes Fazit gezogen.

Installation

Die Installation von fluxbox selbst verlief, da rpm, problemlos. Etwas Aufwand, weniger durch Installation als vielmehr durch Suchen geeigneter Tools und entsprechender Konfigurationen, brachte das Erweitern um nützliche oder notwendige Programme mit sich. Ich denke aber, dass man die folgende Liste in unter einer Stunde abarbeiten können sollte.

aterm

Das Wichtigste macht bei einem UNIX-artigen System natürlich der Terminal-Emulator aus. Da die KDE-Konsole sehr gewichtig ist, habe ich mich für den dazu noch sehr gut aussehenden aterm entschieden. Er ist hochgradig konfigurierbar und besteht in der Minimalausführung nur aus der Titelleiste, die man, wie man später sehen wird, beliebig transparent gestalten kann, aus einer ebenfalls halbtransparenten Schreibfläche. Die Konfiguration erfolgt wahlweise über Einträge in der .Xdefaults oder per command line parameter. Hierbei ist natürlich die erste Version der zweiten vorzuziehen. Eine Beispielkonfiguration:

aterm*loginShell:true
aterm*transparent:true
aterm*shading:60
aterm*background:Black
aterm*foreground:White
aterm*saveLines:32767

Möchte man zudem transparente Scrollbars haben, ist folgendes hinzuzufügen:

aterm*scrollBar:true
aterm*scrollBar_right:true
aterm*transpscrollbar:true

Hat man eine deutsche Tastatur und möchte auch Umlaute schreiben, sollte man die Variablen, die locale ausgibt, auf seine entsprechende Umgebung setzen. Ein Problem was sich mir noch immer stellt: Habe ich das getan, ist die Ausgabe von Umlauten in Dateinamen, z.B. mit ls zwar nicht mehr kryptisch, stattdessen erscheinen aber zwei Fragezeichen. Die Ausgabe von Umlauten im Allgemeinen funktioniert dann aber. Ein weiteres Problem ist Copy&Paste. Aterm gibt die jeweiligen Anweisungen mit Markieren und mittlerer Maustaste offensichtlich nicht in darin ausgeführte Programme wie vi weiter. Bedeutete in meinem Fall: Ich musste manuell Dinge aus Firefox abtippen - keine gute Idee. Wahrscheinlich handelt es sich hierbei aber um ein Problem von fluxbox selbst.

Menü

Das Rechtsklick-Menü auf der Arbeitsfläche lässt sich vollständig selbst erstellen bzw. anpassen. Die zugehörige Configfile ist .fluxbox/menu. der Aufbau ist immer gleich. Zuerst kommt die Art des Eintrags in eckigen Klammern, dann die Bezeichnung in runden Klammern, der auszuführende Befehl in geschweiften und optional das Icon in spitzen Klammern. An dieser Stelle sei nur noch einmal auf das Programm fluxbox-generate_menu verwiesen, dass ein Standardmenü aus KDE- oder Gnome-Konfigurationen erstellen kann. Trotzdem sollte man diese Einträge immer auch selbst noch erweitern bzw. anpassen, zumindest um einen Abmelden-Eintrag. Hier ein Auszug aus meiner Datei:

[begin] (Pascalcomp)
  [exec] (aterm) {aterm}
  [exec] (Ausfuehren) {fbrun}
  [exec] (Screen sperren) {kdesktop_lock --forcelock}
  [submenu] (Beenden)
    [exit] (Sitzung beenden)
    [exec] (Ausschalten) {sudo /sbin/shutdown -h now}
    [exec] (Reboot) {sudo /sbin/shutdown -r now}
  [end]
[end]

Hier fehlen noch die Applikationseinträge. Icons verwende ich hier keine.

Shortcuts

Wie vieles, so kann man bei fluxbox auch die Shortcuts selbst konfigurieren. Was vielleicht etwas ungewöhnlich für KDE-Umsteiger erscheinen mag, ist das Schalten zwischen Arbeitsflächen mit ALT+F<Nummer>. Daher hier mein Vorschlag zur Umkonfiguration, einzutragen in .fluxbox/keys:

Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4
Control F5 :Workspace 5
Control F6 :Workspace 6
Control F7 :Workspace 7
Control F8 :Workspace 8
Mod1 F2 :ExecCommand fbrun
Mod1 F4 :Close
fbrun und fbpager

Als "Ausführen"-Box empfiehlt sich fbrun, das standardmäßig installiert sein sollte. Es ist allerdings nicht sehr komfortabel. Stattdessen könnte bbrun von Interesse sein, falls man Textvervollständigung etc. benötigt. In letzterem Fall muss man natürlich noch die Tastenbelegung Mod1 F2 (s. Kasten über diesem Abschnitt) noch anpassen. Als Arbeitsflächenumschalter habe ich mit fbpager sehr gute Erfahrungen gemacht. Ich empfehle, ihn links unten in die Taskbar mit einzufügen. Dazu in .fluxbox/init die Höhe der Taskbar z.B. auf 30 setzen und die Breite auf 90-95%, je nach Arbeitsflächenzahl. Dann in der .fluxbox/fbpager x auf 0 setzen und y anpassen. Außerdem die Höhe und Breite der einzelnen Arbeitsflächen sowie die Anzahl pro Zeile entsprechend justieren. Über alpha kann man die Transparenz einstellen. Z.B. sieht das dann bei meiner 1280x1024-Auflösung folgendermaßen aus:

fbpager.alpha: 80
fbpager.x: 0
fbpager.y: 989
fbpager.workspace.width: 31
fbpager.workspace.height: 15
fbpager.workspacesPerRow: 4
fbpager.followDrag: false
fbpager.followMove: false
fbpager.changeWorkspaceButton: 1
fbpager.raiseWindowButton: 23
fbpager.lowerWindowButton: 22
fbpager.closeWindowButton: 3 3 1
fbpager.exitButton: 1 3 3
fbpager.nextWorkspaceButton: 4
fbpager.prevWorkspaceButton: 5
fbpager.moveInWorkspaceButton: 11
fbpager.dragToWorkspaceButton: 3
fbpager.align: LeftToRight
fbpager.color: black
fbpager.windowColor: lightgray
fbpager.focusedWindowColor: lightblue
fbpager.windowBorderColor: black
fbpager.backgroundColor: darkgray
fbpager.currentBackgroundColor: white
fbpager.multiClickTime: 250
fbpager.icons: false
fbpager.windowBorderWidth: 1

Man sieht, dass ich hier auch mit einem Linksklick die Arbeitsflächen wählen kann und einige andere kleinere Modifikationen vorgenommen habe, aber das sei jedem selbst überlassen. Zuletzt muss man noch in die .fluxbox/startup eine Zeile fbpager & eintragen, noch vor exec /usr/bin/fluxbox.

Look & Feel

Jetzt zu der schöneren Angelegenheit. Fangen wir mit dem Hintergrundbild an. Dazu editiert man .fluxbox/startup und fügt eine Zeile der Art fbsetbg -f /home/pascal/Documents/Pictures/Diverse/Wallpapers/sunset.jpg hinzu. Gegebenenfalls kommentiert man anders lautende Zeilen aus. Der nächste Aspekt sind Transparenzeffekte. Sie stellt man in .fluxbox/init ein, z.B. so:

session.screen0.slit.alpha: 255
session.screen0.toolbar.alpha: 100
session.screen0.menu.alpha: 170
session.screen0.window.focus.alpha: 80
session.screen0.window.unfocus.alpha: 80

Hierbei müssen natürlich anders lautende Zeilen ersetzt bzw. editiert werden. Zuletzt kann man in der gleichen Datei noch den style anpassen, z.B. session.styleFile: /usr/share/fluxbox/styles/BlueNight.

ROX filer

Jetzt sind wir auch schon fast fertig. Schön wären jetzt natürlich noch Icons auf dem Desktop. Hier habe ich leider noch kein Tool gefunden, das die Icons aus einem Ordner bezieht, stattdessen basiert der Desktop bei ROX auf einem XML-file, das auf bestehende Dateien verweist. Hierzu installiert man ROX filer und trägt ihn mit rox --pinboard=Desktop & in die .fluxbox/startup ein. Hierbei ist Desktop die zu werwendende XML-Datei, man kann also auch verschiedene Layouts haben und nach Bedarf wechseln. Mir genügt im Moment diese eine. Nach dem Start ist der Desktop standardmäßig von rox okkupiert. Das Wallpaper ist - bis auf die transparenzeffekte der Programme - verschwnden und das Fluxbox-Menü ist weg. Dann geht man folgendermaßen vor: Über Rechtsklick > Hintergrund wählt man das gleiche Bild, wie man es bei fluxbox hatte. Nur dann sind Transparenzeffekte korrekt darstellbar! Jetzt solte man im Menü-Punkt ROX-Filer > Optionen alle Rubriken durchgehen und sinnvolles aus- bzw. abwählen. Wichtig sind auf dem Reiter "Kompatibilität" die Einstellungen "Hack für das Blackbox-Hintergrundmenü", "Alle Mausklicks auf den Hintergrund an den Windowmanager durchreichen" (dann erscheint auch wieder unser geliebtes Hintergrundmenü, das ROX-Menü erscheint nur bei einem Rechtsklick auf ein Icon) und u.U. noch "Hostnamen nicht benutzen". Nach dem Verlassen des Optionsdialogs sollten Icons einfach aus dem Programm rox, einem richtig guten Filemanager, auf die Arbeitsfläche ziehbar sein.

aRts

Wer aRts-Support möchte, kann eine Zeile artsd & in die .fluxbox/startup eintragen. Hier will allerdings manchmal die automatische Freigabe der Soundkarte nach z.B. 5 Sekunden nicht, stattdessen klinkt sich aRts auch in raw-Zugriffe ein, was bei solchen Programmen zu Ruckeln führen kann.

gdesklets

Kommen wir zum letzten Schritt unserer Einrichtung. Hierbei geht es um ein Wetter- und ein Kalender-applet auf dem Desktop. Wir verwenden gdesklets, da superkaramba nicht mit dem Background kooperieren wollte. Nach der Installation und dem Start sollte man mit einem Rechtsklick auf das Trayicon alle Einstellungen treffen, Translucency aber definitiv deaktiviert lassen! Es wird eine Pseudo-Translucency durch Kopieren des Hintergrundbildes erzeugt, während bei Aktivierung eine Transparenzunterstützung von Xorg erwartet wird, was zumindest auf meinem System aber nicht ohne ein großes Ruckeln ging. Als Desklets empfehle ich GoodWeather und Calendar. Bei letzterem sei anzumerken, dass die Transparenz durch Auswählen transparenter Farben (-> Alpha-Komponente!) erzeugt werden kann. Auch hierbei handelt es sich im Normalfall um Pseudo-Transparenz. Mit einem Eintrag von gdesklets & in die .fluxbox/startup haben wir die Installation abgeschlossen.

Zusammenfassung

Bei meinen Anpassungen bin ich an Punkte gekommen, an denen ich nicht mehr weiter wusste. Zum einen war da die mangelnde Unterstützung von UTF-8-Sonderzeichen, insbesondere seien hier die Umlaute zu nennen. Zwar ist es nervig, keine Umlaute in Taskbar und Menü angezeigt zu bekommen, doch damit kann ich leben. Viel härter trifft mich da der mangelde Support innerhalb der aufgerufenen KDE- und GTK-Programme sowie im aterm. Copy&Paste sollte zwar durch markieren und Betätigen der mittleren Maustaste möglich sein, funktioniert Bibliotheksübergreifend aber nicht. So war es mir nicht möglich, z.B. GTK-Programme mit vi in aterm kooperieren zu lassen. KDE-Programme erwiesen sich als sehr langsam, was zu erstaunlichen Reaktionszeiten, insbesondere beim gezielten Einsatz der Backspace-Taste geführt hat. Standardmäß waren zwei Wörter mehr weg als geplant. Ich wollte gerne bei aRts als sound server bleiben, da er von vielen Programmen unterstützt wird. Leider gab es hier erhebliche Probleme mit dem Freigeben der Soundkarte nach 5 Sekunden idle-Zeit, wie das bei KDE immer der Fall war. Sobald nälich ein raw zugreifendes Programm gestartet wurde, wollte aRts dann doch wieder dieses Programm managen, was erhebliches Ruckeln zur Folge hatte. Ein weiteres, wenn auch nicht so schwerwiegendes Problem war das Layout vom ROX pinboard. Ich brauche einen Desktop, auf dem ich ähnlich eines priorisierten Ordners Dateien schnell ablegen- und nach Abarbeitung wieder löschen kann. Stattdessen ist das pinboard ähnlich anderen Desktop-Icon-Managern nur eine Sammlung besonders angeordneter Verknüpfungen vorrangig auf Programme, aber auch auf "statische" Dateien, wie Handbücher etc. Temporäre Dateien lassen sich dort nicht einmal auf die Schnelle deponieren.

Fluxbox besticht somit vorrangig durch Geschwindigkeit beim Start (etwa 1/10 der KDE-Startzeit) und auch beim Betrieb, durch eine extrem hohe Konfigurierbarkeit sowie die damit verbundene extrem einfache Bedienung. Auf einem langsamen System, bei dem Dateizugriffe (da NFS) extrem Zeit kosten und als Keyboardlayout sowie Systemsprache englisch vorgegeben ist, ist fluxbox definitiv eine Überlegung wert. Mir persönlich hat es zwar an einigen Punkten sehr gut zusagen können, die dafür eingegangenen Nachteile lassen mich jedoch wieder auf KDE zurück- bzw. vielleicht in einem nächsten Projekt auf einen anderen window manager umsteigen. Die Nachteile sind zumindest momentan (im Oktober 2005 und unter Vorbehalt einer Fehlkonfiguration) noch zu gravierend, als dass ich ein längeres Arbeiten damit als sinnvoll erachte. Vielleicht probiere ich im Rahmen eines späteren Projekts einmal Enlightenment aus. Natürlich werde ich dann auch diese Erfahrungen hier posten.

Personal tools
Select Language