Fluxbox ist ein Window-Manager für unixoide Systeme - zum Beispiel Linux. Fluxbox gehört in vielen
Distributionen zur Standardausstattung. Für mich ist Fluxbox der Window-Manager, der am besten zu mir
passt.
Angefangen habe ich mit Linux, nachdem ich die blauen Bildschirme von Windows 95 Leid war.
Sie lieferten mir keine Informationen darüber, warum von einem Moment zum anderen nichts mehr funktionierte.
Ich stieg auf Linux um - auf die »Deutsche Linux Distribution« (DLD). Das war damals noch ziemlich
abenteuerlich für jemanden, der auf dem Weg von DOS mit WordPerfect über Windows 3 mit WordPerfect
und Windows 95 mit WordPerfect gekommen war (ja, ich habe Zeit meines Lebens mit Texten gearbeitet!)
und jetzt irgendwie die Gerätetreiber für Festplatten, Soundkarten, Netzwerkkarten und etwas konfigurieren
musste, das sich x-window nannte.
Aber irgendwie hat es funktioniert. Und als es die erste Desktopumgebung gab - für mich
KDE, weil ich den Fußabdruck von Gnome nicht leiden
konnte - habe ich alle Window-Manager hinter mir gelassen und KDE1, dann
KDE2 und schließlich KDE3 installiert. Damit war ich
immer zufrieden.
Dann kam KDE4. Und das meiste, das vorher für mich funktioniert hatte, tat
das nicht mehr. Gnome hatte immer noch einen hässlichen Fußabdruck. Also kuckte ich mich um. Aber
LXDE, RazorQT, später LXQT,
XFCE, Cinnamon, Mate,
Budgie und Co. haben mich nicht überzeugen können - nur manche Elemente aus manchen
von ihnen. Warum also nicht wieder ein einfacher Window-Manager mit ein paar Ergänzungen?
Ich entschloss mich Fluxbox auszuprobieren. Fluxbox ist schnell, gut dokumentiert,
extrem flexibel - und es macht das, was ich in seine Konfigurationsdateien hineinschreibe.
Alles weitere, was ich im Folgenden beschreibe, habe ich unter dem Betriebssystem Devuan
gemacht. Unter Debian wird das alles genauso gehen. Unter anderen von Debian abstammenden
Betriebssystemen wird das höchstwahrscheinlich auch alles funktionieren - und vermutlich, vielleicht etwas angepasst,
so ähnlich dann auch auf anderen Linux-OS, sofern sie einen x-Server bereitstellen. Devuan hat für mich den Vorteil,
dass es ohne systemd auskommt - systemd will alles im System selbst organisieren und ist mir deshalb viel zu
kompliziert.
Im folgenden sind immer wieder Listings, vor allem von Scriptdateien,
aufgeführt. Alle diese Listings und alle weiteren auf diser Seite erwähnten Dateien können bei Bedarf in einem Paket auf
einmal heruntergeladen werden: sammlung-de.tar.gz.
Installation und Inbetriebnahme
1. Installation
Fluxbox ist in den Paketquellen vorhanden. Einfach als root apt install fluxbox ausführen.
Wenn man das von einem Minimalsystem aus macht, ist dafür das x-window-system Voraussetzung (apt
install xserver-xorg).
Systeme ohne x-server, zum Beispiel Fedora, sind für Fluxbox ungeeignet.
2. Login-Manager
Als Login-Manager benutze ich seit Jahrzehnten (mit einem kleinen vorübergehenden Seitensprung zu SLiM)
xdm (apt install xdm).
Damit xdm ein bisschen mehr als die schlichte Login-Aufforderung wird, habe ich ihn ein bisschen angepasst.
Ihn ergänzt eine kleine Leiste am unteren Bildschirmrand, mit deren Hilfe man eine virtuelle Tastatur einblenden,
den Computer herunterfahren oder neu starten kann, und die außerdem noch kurze Informationen über den Ladezustand
des Computers und Datum und Uhrzeit anzeigt. Außerdem übernimmt xdm für mich auch den Bildschirmhintergrund des
Logins und meines Fluxbox-Desktops. Auch dafür sind ein paar Scripte erforderlich. xdm kann das alles, weil
er extrem flexibel konfiguriert werden kann.
Fangen wir mit der Leiste an. Ich benutze polybar (apt install polybar),
eine ganz einfache Leiste. Bei mir bekommt sie eine Datei /etc/X11/xdm/polybar.ini mit folgendem
Inhalt:
Polybar enthält in dieser Konfiguration als virtuelle Tastatur onboard
(apt install onboard), das man sich beim nächsten Login auf eine passende Größe
ziehen kann.
Als Programm zur Aufnahme eines Bildschirmfotos verwendet Polybar hier scrot
(apt install scrot), das das Verzeichnis /root/Bilder
verwendet - vermutlich muss das eigens angelegt werden.
Für die Anzeige des Ladestandes braucht Polybar das Script /usr/local/bin/ladestand.sh,
das wiederum die Installation von acpi (apt install acpi)
voraussetzt:
Jetzt zum Desktop-Hintergrund. Zuständig für die Auswahl eines Hintergrundbildes ist das Grafikprogramm
feh (apt install feh. Damit feh vernünftig arbeiten kann
und das Hintergrundbild während einer Fluxbox-Sitzung leicht gewechselt werden und dann auch bei der nächsten
Anmeldung über xdm wieder zur Verfügung steht, habe ich das Script xdm-hg.sh geschrieben.
Es hat folgenden Inhalt:
Wichtig ist, dass dieses Script durch eine »normale« BenutzerIn verändert werden darf, weil die enthaltene
Bilddatei auch durch normale BenutzerInnen während der Fluxbox-Sitzung geändert werden darf. Bei mir steht
es deshalb nicht im üblichen Scriptverzeichnis /usr/local/bin, sondern im Verzeichnis
/usr/local/usrbin. Da ist es auch das einzige Script und darf eben mit den Rechten
xbeliebiger BenutzerInnen geschrieben/geändert werden.
Damit dieses Script überhaupt von xdm aufgerufen wird, müssen wir es in die Datei /etc/X11/xdm/Xsetup
schreiben. In dieses Script gehört auch die Startdatei von Polybar - so sieht die Datei aus:
Damit Polybar und die möglicherweise im Polybar-Menü gestartete virtuelle Tastatur onboard auch wieder
beendet werden, muss das in die Datei /etc/X11/xdm/Xstartup geschrieben werden. Die
Datei enthält auch noch andere Einträge - folgendes muss hinzukommen:
Der xdm Login-Manager mit der Leiste Polybar
xdm sieht in der Auslieferungsform von Devuan/Debian relativ unproportioniert aus. Um den Login-Manager
ein bisschen aufzuhübschen, haben wir ja schon ein Hintergrundbild gesetzt - aber wir sollten auch seine
Proportionen und sein verwendetes Logo ein bisschen anpassen. Dazu schlage ich folgende angepasste Datei
/etc/X11/xdm/Xresources vor:
Achtung: Die Datei /etc/X11/xdm/Xresources enthält bei mir,
bevor der eigentliche Text kommt, 45 (!) Leerzeilen. Möglicherweise sind die wichtig - am besten
bleiben sie da.
Wichtig ist, dass die Logodatei /usr/local/share/pixmaps/xdm.xpm
auch tatsächlich eine Grafikdatei im .xpm-Format enthält - sonst zeigt xdm einfach kein Logo beim Login an.
Soviel zu xdm. Damit sind schon einmal einige Eingangsvoraussetzungen für den Betrieb eines Fuxbox-Desktops
gegeben.
Der xdm Login-Manager mit der virtuellen Tastatur onboard und der Leiste Polybar
3. Inbetriebnahme
Für den Fall, dass xdm nicht automatisch fluxbox startet, ist der folgende Eintrag in der Datei
~/.xsession erforderlich: exec startfluxbox. Wenn es die
Datei (noch) nicht gibt, muss sie angelegt werden. Falls man X nicht mit einem Loginmanager wie xdm startet, sondern
über den Befehl startx, muss der gleiche Eintrag stattdessen in der Datei
~/.xinitrc stehen - es schadet nicht, wenn beide Dateien mit diesem Eintrag
vorhanden sind.
Das Allerbeste an Fluxbox ist sein Menü. Es kann auf jedem freien Platz auf dem Desktop mit der rechten
Maustaste aufgerufen werden. Es kann beliebig angepasst werden und total auf die eigenen Ansprüche zugeschnitten
werden - ist aber leider nicht automatisch nach der Installation »einfach so« vorhanden.
Deshalb sollten wir zuallererst ein Menü aller auf dem Computer vorhandenen Programme erzeugen (»Wurzelmenü«).
Dafür gibt es zwei Möglichkeiten. Die erste, ungenaue, funktioniert mit Hilfe des Scripts
dt2fbmenu-de.sh (oder dt2fbmenu-en.sh, wenn es englischsprachig ausfallen soll).
Das sollten Sie allerdings nur verwenden, wenn Sie die folgende etwas (aber wirklich auch nur etwas) kompliziertere
Variante scheuen - lesen Sie das und entscheiden Sie sich dann.
Das Script befindet sich unter den Downloads.
Besser funktioniert das mit Hilfe des Programms fbmenugen. Das ist ein Perl-Script,
das nur funktioniert, wenn durch die Installation der folgenden Pakete die Rahmenbedingungen stimmen:
apt install libgtk3-perl libdata-dump-perl libfile-desktopentry-perl libmodule-build-perl
libxapp-gtk3-module. Danach muss trotzdem noch ein Perl-Modul von Hand installiert werden. Dazu laden wir von
https://github.com/trizen/Linux-DesktopFiles
das gesamte Verzeichnis als zip-Archiv heruner und entpacken es zum Beispiel im Verzeichnis
~/Linux-DesktopFiles-master. Dann wechseln wir in einem Terminal (xterm, st, lxterminal ...)
dorthin mit cd ~/Linux-DesktopFiles-master und führen mit den Rechten einer einfachen
BenutzerIn folgende Schritte durch:
Danach muss nur noch aus demselben Verzeichnis heraus als root alles an seinen im System vorhergesehenen
Platz gebracht werden:
Das war schon das Schwierigste. Jetzt brauchen wir von https://github.com/trizen/fbmenugen
die Datei fbmenugen, die wir im Verzeichnis /usr/local/bin
speichern und die Datei schema.pl, die wir in das Verzeichnis
~/.config/fbmenugen kopieren (das Verzeichnis müssen wir vorher erstellen).
Ein deutschsprachiges »Wurzelmenü« wird mit folgender Programmzeile erzeugt:
Ein englischsprachiges »Wurzelmenü« wird mit der gleichen Programmzeile, aber ohne alle Ersetzungen durch
sed erzeugt:
Das erzeugte »Wurzelmenü« befindet sich jetzt schon in unserem Fluxbox-Verzeichnis ~/.fluxbox
und wir müssen jetzt, um darauf zugreifen zu können, noch zwei weitere Menüs erstellen.
Zuerst erstellen wir jetzt Fluxbox' »Hauptmenü«, von dem aus das »Wurzelmenü« abzweigen wird - und ein weiteres Menu,
das »Personalmenü«, das unsere mit Vorliebe benutzten Programme und unsere eigene Menüordnung enthält.
Das »Hauptmenü« heißt als Datei schlicht und ergreifend menu und gehört ins Verzeichnis
~/.fluxbox - hier ist mein Beispiel: