Freitag, 27. Januar 2017

Früher war alles besser: Common Desktop Environment auf Linux

Rechter Monitor mit Panel und einer GTK2-App
Unter Linux bevorzuge ich Leichtes. Umgebungen wie Gnome oder KDE sind mir zu schwergewichtig und auch aus verschiedenen Gründen nicht wirklich sympathisch - die eine zu wenig auf meine Bedürfnisse anpassbar, die andere riecht zu sehr nach Redmond. Folglich bin ich seit vielen Jahren vorwiegend mit WindowMaker unterwegs (das dort verlinkte Theme "NeXT-Retro" ist übrigens immer noch in Benutzung), und in der letzten Zeit habe ich wieder verstärkt Gefallen an Enlightenment gefunden. Beide sind leicht, schnell und vollkommen konfigurierbar.

Eine dritte Option ist in der letzten Zeit aber auch noch dazu gekommen, quasi die Mutter aller Gnome und KDEs: Common Desktop Environment, kurz CDE, dessen Code vor einigen Jahren Open Source wurde und nun hinreichend alltagstauglich unter Linux ist. So kann man den zarten Retro-Charme der 90er Jahre genießen und sich sozusagen auf Augenhöhe mit Windows-Benutzern wähnen :)



Freilich ist für diesen Spaß etwas Handarbeit notwendig. Hier ist, was ich gemacht habe, um mein hier gezeigtes Setup hinzubekommen. Fangen wir an mit Build und Installation:

Rechter Monitor mit ein paar CDE-Apps
  1.  Der CDE-Quellcode muss selber übersetzt werden. Den kann man von der Projektseite bei Sourceforge herunterladen. Bei mir war das Release 2.2.4.
  1. Vor dem Übersetzen empfehle ich allen, die mehr als einen Bildschirm benutzen, noch einen Xinerama-Patch des Fenstermanagers dtwm einzuspielen, damit Fensterpositionierung und Maximieren von Fenstern normal funktioniert. 
  2. Danach funktioniert die Build-Anweisung auf Sourceforge ganz prima. Wer wie ich auf Redhat und 64bit unterwegs ist, sollte zusätzlich noch diesen Wiki-Artikel lesen. 
  3. Bei mir wurden die manpages nicht mit installiert. Das habe ich dann per Hand gemacht: cd cde-<VERSION>/doc/C/; sudo cp -r man/* /usr/dt/man/
  4. Ein bekanntes Problem des Common Desktop Environment auf Linux ist, dass sie manchmal aufgrund von Problemen mit dem rpcbind-Service nicht startet. Bei mir (ein RHEL7-Derivat) hilft es, einmal nach Start des Rechners als root den Dienst per Hand neu zu starten: systemctl restart rpcbind.service - warum das nötig ist, und warum gerade das hilft, ist mir schleierhaft, aber ohne geht es nicht. 



Linker Monitor mit Systray und einer GTK3-App
Das hier sind nun meine Einstellungen und Anpassungen:
  1. Um GTK- und QT-Anwendungen das richtige Aussehen zu geben, benutze ich das GTK3-Theme Solaris Colours, allerdings in einer von mir leicht modifizierten Form, um mit meinem CDE-Farbschema besser zu harmonieren.
  2. Für den System Tray oben links benutze ich stalonetray, und zum Umschalten der Tastaturbelegng xxkb.
  3. Zum Starten der Umgebung benutze ich den gdm und habe dafür eine Datei cde.desktop erzeugt, die in /usr/share/xsessions liegt.
  4. Die verweist wiederum auf ein Startskript cdesession.sh, das in /usr/local/bin liegt. 
  5. Den System Tray und xxkb starte ich über ein Skript $HOME/bin/CDEInit.sh, das ich über $HOME/.dt/sessions/sessionetc aufrufe. Es ist etwas hakelig, dafür zu sorgen, dass das oben links in der richtigen Anordnung erscheinen zu lassen, daher enthält das Skript ein paar Kniffe. 
  6. In der Konfiguration des Fenstermanagers, .dt/dtwmrc, kann man einiges an Tastaturabkürzungen einstellen, wovon ich ausgiebig Gebrauch gemacht habe. Interessanterweise muss man, um das Fenstermenü (Alt-Space) zu konfigurieren, eine entsprechende X-Ressource in $HOME/.Xdefaults setzen, das ist schon etwas merkwürdig, funktioniert aber. 
  7. Ich wollte auf Ctrl-Esc eine Art Fensterliste haben. Mit Bordmitteln ging das nicht, ich habe aber ein nettes Programm gefunden, das ich auf diese Kombination gelegt habe: find_window.
  8. Die Icons, die man im Panel sieht, sind letztlich CDE-"Apps", die man sich im CDE-Appmanager zusammenbasteln muss. Blöderweise braucht man Icons im .bm Format in verschiedenen Größen. Ich habe dazu ein paar wenige Sachen im Netz gefunden und den Rest selber gebastelt.
  9. Die ganzen oben genannten Konfigurationsdateien für xxkb, dtwm, die Icons sowie die Desktop-Datei und Hilfsskripte gibt es hier in einem tar-Archiv zum Herunterladen.
  10. Der Rest ist die übliche Spielerei mit den mitgelieferten Tools. Ärgerlich ist, dass man Änderungen am Farbschema erst nach Logout und wieder Login zu sehen bekommt. Zum Glück geht das auf moderner Hardware ziemlich schnell.
Fazit: CDE hat etwas. Ich mag dieses etwas altmodische Design. Da ich ohnehin meist auf der Kommandozeile oder mit Tastatur-Abkürzungen untewegs bin, funktioniert das auch leidlich gut. Es gibt einiges, was man nicht einstellen kann, z.B. Verschieben von Fenstern auf andere Desktops per Tastaturabkürzung, horizontal und vertikal maximieren etc., und der Fenster-Fokus beim Wechseln zwischen den Desktops ist eher so naja, aber dafür hat man so ziemlich alles von Stirnrunzeln bis Bewunderung bei den Kollegen sicher, die einem über die Schulter schauen :)