wtf.who.cares//linux

MX-Linux mit Fluxbox (erste Schritte)

FluxBox ist hinsichtlich des Ressourcenverbrauchs eine attraktive Lösung für schwachbrüstige und/oder ältere Rechner, was bei mir aber nicht zutrifft.
Auf einem AMD Ryzen 9 3900X mit 32GB RAM und SSD Datenträgern läuft jede Distribution mit jedem Desktop schnell.

Warum mach ich mir die "Mühe" es trotzdem dahingehend zu optimieren?
Vielleicht aus Prinzip. Unabhängig von den mir zur Verfügung stehenden Ressourcen, möchte ich möglichst sparsam damit umgehen. Außerdem mag ich es minimalistisch, schlicht und einfach ;-}
Es gibt auch in der praktischen Arbeit minimale Unterschiede, in etwa auf dem Level der Diskussionen bei Gamern, da wird ja auch um jeden Frame/Sek gekämft.
Der Unterschied zwischen MX-Fluxbox und z.B. Linux Mint 20 Cinnamon vehält sich dann in etwa wie 103 frames/sec zu 101 frames/sec. Oder in der Praxis bei mir z.B. die Konvertierung eines full hd 120frames/sek Videos meiner Kamera (losless) auf 30frames/sek (stark komprimiert) fürs web.
MX-Fluxbox benötigt knappe 30 Minuten, Mint Cinnamon über 31 Minuten, CPU Temperatur steigt bei Fluxbox ein bisschen langsamer an und fällt dafür nach Beendigung schneller auf Normwert. Die Unterschiede zu MX-XFCE und MX-KDE sind ein bisschen geringer. Aufgrund des hohen Zeitaufwandes habe ich das aber nur einmal verglichen.

Ein Hinweis am Rande: macht Backups von jeder Konfigurationsdatei, in der ihr manuell rumfrickelt. Macht auch nicht zu viel Änderungen auf einmal, immer Schritt für Schritt. Wenn was nicht so funktioniert oder aussieht wie es gedacht war, ist die Fehlersuche viel einfacher.
Achja, und macht Backups.

Wir fangen klein an!
Ich gehöre zu denen, die sich ein fertiges Thema zulegen und dann allenfalls noch minimale Änderungen daran machen.
Zu Fluxbox gibt es im www genug Themen zum download :
z.B.

https://www.box-look.org/browse/cat/139/order/latest/

https://tenr.de/styles/

und für die Hardcore Bastler noch die man pages:

https://www.systutorials.com/docs/linux/man/5-fluxbox-style/

nicht mein Ding, ein paar von box-look und tenr runter geladen, angesehen und zur Zeit ist es "basic" von tenr.de. Die entsprechenden Konfigurationsdateien finden sich im (versteckten)Verzeichniss /home/dein_benutzername/.fluxbox/styles. Je nachdem wie aufwendig der Style ist (z.B. eigene Grafiken), in einem eigenen Unterverzeichniss.
Die einzige Änderung bei mir, es sieht dann ein bisschen moderner aus, sind abgerundete Ecken. Einfach diesen Block in die theme.cfg, fertig.

menu.roundCorners: TopRight TopLeft BottomRight BottomLeft   
window.roundCorners: TopRight TopLeft BottomRight BottomLeft   
toolbar.shaped: true   

Da das Auge mitißt, noch ein "eigener" Exit Button:

#!/bin/bash

yad --form --columns 1 --width=100 --height=250 --center --borders=12 --skip-taskbar --undecorated --timeout=5 \
    --field="<span font='Monospace'></span>!/usr/share/icons/Moka/64x64/actions/system-log-out.png":fbtn "fluxbox-remote 'Exit' || killall fluxbox" \
    --field="<span font='Monospace'></span>!/usr/share/icons/Moka/64x64/actions/system-suspend.png":fbtn "sudo 'pm-suspend' " \
    --field="<span font='Monospace'></span>!/usr/share/icons/Moka/64x64/actions/system-reboot.png":fbtn "sudo reboot" \
    --field="<span font='Monospace'></span>!/usr/share/icons/Moka/64x64/actions/system-shutdown.png":fbtn "sudo poweroff" \
    --no-buttons
exit 0

Dies Datei heisst bei mir "exit_actions_1" und muß, mit Administratorrechten, in /usr/bin/ abgelegt werden.
Der Eintrag im FluxBox Haupt Menü sieht dann so aus:
[exec] (EXIT) {exit_actions_1} </usr/share/icons/gnome/48x48/actions/application-exit.png>

Kommen wir zur Optimierung des RAM Bedarfs. Einerseits durch weglassen von nicht wirklich benötigten Programmen, andererseits durch Austauschen gegen sparsamere Programme.

fangen wir mit der initialen Start Datei an, eigentlich fliegt da fast alles raus, weil ich es nicht benötige. Was bleibt drin geht schneller:

#!/bin/sh    

#start a compositor if using complicated conkies (und für tint2)
compton &

# export Qt variables
export QT_QPA_PLATFORMTHEME=gtk2
export QT_PLATFORMTHEME=gtk2
export QT_PLATFORM_PLUGIN=gtk2

# add root access
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

# alternatives dock tint2
tint2 -c /home/winnI/.config/tint2/h-d-t.tint2rc &

# clipboard, geringerer RAM Bedarf als Clipit
parcellite & 

#start fehbg to get last background selected
~/.fehbg

# Debian-local change:
#   - fbautostart has been added with a quick hack to check to see if it
#     exists. If it does, we'll start it up by default.
which fbautostart > /dev/null
if [ $? -eq 0 ]; then
    fbautostart
fi

# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.

exec fluxbox
# or if you want to keep a log:
# exec fluxbox -log "~/.fluxbox/log"

Das sieht ganz schön leer aus, wobei sich Conky, Docks und Icons über die entsprechenden Menü Einträge ja jederzeit wieder aktivieren lassen. Nebeneffekt ist das der initiale Rambedarf, trotz eines alternativen Docks nur um 300mb liegt.
Das ist für einen modernes 64bit Betriebsystem ziemlich schlank.

mit conky, tint2 und parcellite im systray

Es gibt gesicherte Gerüchte, dass die nächste Fluxbox für MX-Linux Tint2 als Dock und Rofi als "Ersatz" für den Programmstarter fbrun enthalten könnte.
Beide sind über MXPI installierbar und für beide Anwendungen gibt es bereits Einträge im Hilfe-Wiki. Ich hab das jetzt schon mal vorweg genommen und bei mir installiert.

Nun mal zu dem Bündel an Dienstprogrammen. Als erstes bereinigte ich alles, keine Icons, kein Dock, nicht einmal eine Toolbar. Möglich war das durch das Programm fbmenugen, das so ziemlich alles, wofür es Desktop Dateien gibt, ins Hauptmenü reinpappt. Den Rest (appimages und wine aufrufe) hatte ich schon früher abgearbeitet.
Sah jetzt wirklich schön aufgeräumt aus, der Desktop:

Okay, nett, hielt sich aber nur kurz, weil man hat auch kein systray mehr, für einige Programme ungünstig.

Welche Dienst Programme und warum:

Tint2 als Dock, geringer Ressourcenverbrauch, viele Möglichkeiten!
Rofi als Ersatz für fbrun und bei mir auch für den xfce4-appfinder.
scrot ein screenshooter für die Komandozeile.
Skippy-xd als grafischen Taskwechsler.
Drill als Ersatz für Catfish (schnell, schneller, drill). Leider zur Zeit nur als appimage.
Außer Drill sind alle Programme im MXPI zu finden, entweder im "Stabilen" oder im "MX-Test"