Window Manager¶
Window Manager - WM (dt.: Fenstermanager) sind (oft) ohne Tools und kommen ohne den Resourcenhunger vieler Desktops.
Manche WM bringen eigene Panels (aka Taskleisten) mit, aber man kann auch hier immer zwischen unterschiedlichen Paketen wählen und kombinieren.
Absoluter Platzhirsch für Testszenarien von WM (und Desktops) stellt die Arco Linux D Veriante von Arco Linux dar:
Anmerkung zum Screenshot: ich habe diesen um 90 Grad gedreht und er ist von der Arco Linux Website (Achtung: hier handelt es sich um ein Arch Linux Derivat).
Die Entwickler stellen dort einen Download (ArcoLinuxD) bereit (ihre sogenannte Lernphase 3) mit Optionen und Anleitungen zur Installation der jeweiligen Desktops und Window Manager (Link: https://arcolinuxd.com/choose-your-project/).
Über Skripte oder ein einfaches arcolinux-tweak-tool
kann man dann
beliebig WM nach- und parallel-installieren.
Und hier kommt meine Übersicht für Window Manager (WM) für Linux:
Xmonad - https://xmonad.org/
Dynamic Tiling Window Manager, geschrieben und konfiguriert in Haskell
i3 - https://i3wm.org/
einfache Konfigurationsdatei (ohne Programmier-/Skriptsprache),
manuelles Window-Management (Tiling), Window Fenster-Postionen über Layouts
Qtile - http://www.qtile.org/
Dynamic Tiling WM, geschrieben und konfiguriert in Python
Awesome - https://awesomewm.org/
ein DWM-Fork (vor Urzeiten), wird in Lua konfiguriert (sehr mächtig, s.a. NeoVim)
sehr große Community, Right-Click Menü
DWM - http://dwm.suckless.org/
der erste / originale Dynamic Window Manager (DWM) gebaut von der Suckless Community
wird als C-Quell-Code mit limitierter Technik (max. 2000 Zeilen Code vorgeschrieben!),
d.h. wie bei jeder Suckless-SW muss man Änderungen kompilieren und patchen
SpectreWM - https://github.com/conformal/spectrwm
Dynamic Tiling WM, einfache Konfigurationsdatei - daher aber wieder auch in Umsetzungen limitiert
IceWM - https://ice-wm.org/
Floating WM, Menüsystem, sehr resourcensparend, in openSUSE vorinstalliert neben KDE5/Plasma
siehe auch Distro Antix (auf Debian basierend)
Openbox - http://openbox.org/wiki/Main_Page
Floating WM inkl. Fensterpositionen per Shortcuts, Right-Klick Menü inkl. Scriptmöglichkeiten
wird oft als Standard-WM für LXDE und LXQt Desktops genutzt
TWM - in openSUSE vorinstalliert neben KDE5/Plasma
Hinweis
Parallelinstallationen von reinen Window Managern auf Linux lassen sich technisch sauber realisieren. Das sieht bei Desktops wegen der mitinstallierten Zusatzdienste und Systemtools anders aus!
WM Typen - die Window Manager lassen sich grob in Klassen einteilen
Hier mal ein paar Links zum Thema Window Manager:
Übersichtsseite mit Window-Managern und kompletten Desktops: XWinMan
Youtube Portal Distrotube aka Derek Taylor mit Schwerpunkten Windows Manager, OpenSource Software
Distrotube Video zu Window Managers (1h2m26s !)
Eine besondere Stellung nehmen die sogenannten Tiling Window Manager ein. Hier liegt die Aufgabenstellung neben dem Fenster managen und sauber verteilen auch auf einer perfekten Steuerungsmöglichkeit für Multimonitor-Environments und die Nutzung über Tastenkombinationen.
Die Fähigkeit für das selbstständige sauber verteilen wird dann auch als Dynamic Tiling WM bezeichnet.
Einfache WM lassen Fenster einfach neu auftauchen oder als Fenster verwalten: Floating WM (siehe: Openbox, IceWM).
Der aktuelle Platzhirsch dieser Szene ist Awesome, der eine riesige Fangemeinschaft hat: Screenshots Awesome!
Tipp
… und eine Persönliche Anmerkung: mein aktueller Favorit ist Xmonad und hierfür biete ich auch diverse vorbereitete Konfigurationen in meinen Seminaren an.
Und auch auf die Gefahr hin mich zu wiederholen: ein Window Manager managed nur Windows.
Für alle weiteren gewünschten Dienstleistungen und Tools muss man selber sorgen!
Es gilt also Pick & Choose - Beispielvideo (engl.) WM als Desktop (Distrotube Channel).
Tipp
Falls man schon einen Desktop installiert hat, kann man durch Analyse der installierten Dienst und Autostarts die bestehende Technik nutzen.
Panels
Panels stellen eine Art Taskleiste mit Infos zu
Workspaces
Fenster + Anwendungen
Datum / Uhrzeit
Systemauslastung
Batterie
Systemtray mit Netzwerk-Manager, Volume, …
Es folgt eine kurze Zuordnung von Standardpanels:
dwm, awesom, qtile (haben eigene Panels)
i3 mit eigenem Panel (i3status); Alternative: i3blocks, polybar
bspwm (polybar)
herbstluft (polybar, dzen2)
openbox (tint2
xmonad (xmobar, polybar)
Polkit - Policies konfigurieren
Basisartikel mit Auswahl von Polkits: https://wiki.archlinux.org/index.php/Polkit
Folgende Implementierungen werden dort aufgelistet:
lxqt-policykit, which provides /usr/bin/lxqt-policykit-agent
lxsession, which provides /usr/bin/lxpolkit
mate-polkit, which provides /usr/lib/mate-polkit/polkit-mate-authentication-agent-1
polkit-efl-gitAUR, which provides /usr/bin/polkit-efl-authentication-agent-1
polkit-gnome, which provides /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
polkit-kde-agent, which provides /usr/lib/polkit-kde-authentication-agent-1
ts-polkitagentAUR, which provides /usr/lib/ts-polkitagent
xfce-polkit-gitAUR, which provides /usr/lib/xfce-polkit/xfce-polkit
polkit-dumb-agent-gitAUR, minimalistic desktop independent agent which provides /usr/bin/polkit-dumb-agent
Wenn man WM parallel zu einem Desktop installiert, kann man einfach die bestehende Installation nutzen.
Composite Manager - zuständig für das Erscheinungsbild von Fenstern und Animationen
Aktuelles Standardtool picom (oder klassisch: compton)
Anm.: gerade unter Arch Linux hier eine Auswahl von Picom Varianten (siehe picom-jonaburg-git)
Hintergrundbilder managen
Tools: nitrogen (oder alternativ: feh)
Screenshots erstellen auf Tastendruck
Übersicht auf Arch Wiki: https://wiki.archlinux.de/title/Screenshot_erstellen
Hier die Basistools ohne Desktop-Verwandschaft:
scrot
import (Paket: imagemagick)
xwd (Paket: xorg-apps)
Clipboard - Zwischenablage für X und Tools
Übersicht und Tools gemäß Arch Wiki https://wiki.archlinux.org/index.php/clipboard
System-Tray - Einfachstes Tool: trayer
Klassischer Systembehälter für diverse Informationen
volumeicon - Lautstärke
nm-applet - NetworkManager Applet
Startmenüs / Launcher
Ein bisschen Komfort mit Oberflächen und Effizienz zum Starten von Programmen und Werkzeugen.
Arch Wiki mit sehr ausführlicher Liste: https://wiki.archlinux.org/index.php/List_of_applications/Other#Application_launchers
rofi - Arch Wiki Rofi, Github Rofi
dmenu - Arch Wiki DMenu, DMenu Suckless Tool