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:

Desktops und Windows Manager für Arco Linux D

Desktops und Window Manager für Arco Linux D

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:

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