Die Linux Paradigmen – Teil 1

Vassily Kandinsky, 1939 – Composition 10

Ben fragte mich nach Paradigmen, die Linux von Windows und Mac unterscheiden. Darüber habe ich ein wenig nachgedacht und bin zu einem Zwischenergebnis gekommen. Warum Zwischenergebnis? Weil ich mich zurückerinnert habe, wie ich Linux vor 20 Jahren genutzt habe und wie ich es jetzt nutze, bzw. gerne nutzen würde. Und das unterscheidet sich doch etwas.

Früher hatte ich kein Bock mehr auf Windows und wollte fürs Studium etwas anderes nutzen. Es sollte möglichst einfach sein und stabil funktionieren, weil ich vor dem ganzen Linux-Kram wie der Ochs vorm Berge stand. Also wollte ich etwas nutzen, bei dem ich alle Optionen über die GUI anklicken kann und wozu es viele Support-Infos gibt, die man nachschlagen kann. Wie bei vielen bin ich damals bei Ubuntu eingestiegen, heute würde ich mich wahrscheinlich für Linux Mint entscheiden. Nach ein paar Jahren bin ich dann noch zu Arch und I3 gewechselt, weil ich vom Rolling Release Modell und Tiling Window Managern fasziniert war. Genau da setze ich nach nach über zehn Jahren Apple wieder an – diesmal noch mit dem Vorhaben, mehr das Terminal und TUIs zu nutzen und mehr darüber zu lernen.

So, nun aber genug der Vorrede – im ersten Teil gehe ich auf zwei Paradigmen ein. Das Thema sprengt leider einen einzelnen Beitrag – daher werde ich das ein wenig aufteilen:

1. Linux ist kein Betriebssystem, sondern ein Betriebssystem-Baukasten

Linux hingegen ist kein in sich geschlossenes Betriebssysten, sondern eine Familie von Systemen, die auf denselben Grundlagen aufbauen.

Was man als „Linux“ nutzt, ist immer eine Linux-Distribution, zum Beispiel Linux Mint, Arch Linux oder gar Hannah Montana Linux. Eine Distribution ist ein zusammengestelltes Gesamtpaket mit unterschiedlichen Schwerpunkten und Ausrichten. Es gibt Distributionen, die sich darauf konzentrieren, möglichst stabil zu sein. Andere wollen möglichst schnell neue Entwicklungen integrieren. Manche priorisieren die Systemsicherheit, andere die Einsteiger- oder Nutzerfreundlichkeit. Woraus bestehen diese Gesamtpakete?

2. Linux ist ein Schichtsystem

„Linux“ meint eigentlich nur den sogenannten Linux-Kernel, also den grundlegenden Software-Kern, der sich um die Steuerung der Hardware kümmert: CPU, Speicher, Festplatten, Grafikkarte, Netzwerk etc.
Ist der Kernel installiert, hat man streng genommen auch Linux installiert, kann aber noch kein Programm ausführen oder gar eine Benutzeroberfläche nutzen. Ich habe Linux immer grob als Schichtsystem verstanden:

  1. Ganz unten ist die Hardware, Prozessoren, SSDs, das ganz Gedönse
  2. Über der Hardware kommt der eben erwähnte Linux-Kernel, um mit der Hardware zu sprechen
  3. Über dem Kernel kommen dann Programme und Werkzeuge, über die Nutzer auf dieser Ebene mittels des Terminals als Interface interagieren.
  4. Dann kommt erst die Benutzeroberfläche. Sowas wie ein Login-Screen, den man anklicken kann. Fenster-Management, wie man es von Windows und Mac kennt.

Nochmal zurück zu den Distributionen aus Punkt 1: Um eine vernünftige Distribution zu schaffen, hat sich das Distro-Team also in der Regel Gedanken um all diese Ebenen gemacht:

  1. Auf welche Hardware sollte diese Distribution ausgerichtet sein (alte Systeme, Kühlschränke, möglichst alle Computer, ARM-Chips, Intel?, …)?
  2. Welche Version des Kernels kommt zum Einsatz?
  3. Welche Utilities und Programme sollen vorinstalliert sein? Mit welcher Software installiert man eigentlich neue Software?
  4. Welche grafische Benutzeroberfläche soll angeboten werden? Soll überhaupt eine angeboten werden oder soll die Nutzer:in das selbst entscheiden? Wie soll die Benutzeroberfläche aussehen?

3. Trennung von Technik und Oberfläche

Durch das Schichtsystem wird klar, dass Technik und Oberfläche in Linux-Systemen getrennt sind. Das macht die Sache für Einsteiger:innen nicht übersichtlicher. Linux ist eigentlich nur ein Aspekt des technischen Unterbaus. Nun hat man die Wahl aus einer Fülle von unterschiedlichen Desktop-Oberfächen oder Window-Manager. Wo ist der Unterschied?

Desktop-Oberflächen

Desktop-Oberflächen sind grafische Komplettpakete. Sie enthalten einen Fenstermanager plus viele Zusatzprogramme, zum Beispiel eine Taskleiste, ein Startmenü, Systemeinstellungen, Dateimanager, Benachrichtigungen, Login-Bildschirm etc.

Ein paar geläufige Beispiele sind:

  • GNOME – Modernes, aufgeräumtes Desktop-Environment mit Fokus auf Einfachheit und Tastaturbedienung.
  • KDE Plasma – Sehr funktionsreich und stark anpassbar, viele GUI-Einstellmöglichkeiten wirkt für viele wie ein „Power-Windows“.
  • Xfce – Leichtgewichtig, klassisch und ressourcenschonend, ideal für ältere Hardware.
  • Cinnamon – Windows-ähnliche Oberfläche, besonders einsteigerfreundlich und vertraut.
  • MATE – Traditionelle Desktop-Environment mit Fokus auf Stabilität und Übersichtlichkeit.

Der Vorteil ist die Einsteigerfreundlichkeit, alles ist dabei und wer schon Erfahrung mit Windows und Mac hatte wird sich recht schnell zurechtfinden.

Window-Manager

Im Gegensatz zu Desktop-Environments sind Window-Manager nur für das Verwalten von Fenstern zuständig, also sowas wie: Fenster öffnen und schließen, verschieben, anordnen oder auch Fokus wechseln (welches Fenster aktiv ist).

In der Regel sind hier kein Startmenü, (grafische) Systemeinstellungen, Dateimanager oder sowas wie Lautstärke oder WLAN-Menüs mit dabei. All diese Dinge kann man sich wiederum nach dem Baukastenprinzip dazuinstallieren und konfigurieren. Typische Window Manager sind daher oft sehr schlank gehalten, auf die Nutzung mit der Tastatur ausgelegt und bieten der Nutzer:in oft noch mehr Möglichkeiten, ihre Workflows anzupassen.

Ein paar geläufige Beispiele sind:

  • i3 – Tastaturorientierter Tiling-Window-Manager mit klaren Regeln und minimalem Overhead.
  • Hyprland – Moderner Wayland-basierter Tiling-WM mit Animationen und hoher Anpassbarkeit.
  • Openbox – Klassischer, schlanker Floating-Window-Manager
  • Awesome – Hochgradig konfigurierbarer Window Manager, der sich stark skripten lässt.
  • Sway – Wayland-Nachfolger von i3 mit ähnlicher Bedienlogik, aber moderner Technik.

Was ist für den Einstieg sinnvoll?

Grundsätzlich lässt sich sagen: Desktop Environments sind der Way to go für Einsteiger:innen und generell, wenn man ein vergleichbares Interface wie bei Windows und Mac haben möchte. Auch hier lassen sich übrigens die einzelnen Software-Pakete austauschen und meist viel mehr konfigurieren oder umstellen als bei den kommerziellen Anbietern.

Wer Bock auf tastaturfokussierte Workflows hat und noch mehr konfigurieren und einstellen möchte, könnte hingegen irgendwann dem Ruf der Window Manager erliegen.

Vor allem aber – und das ist eine der coolen Aspekte des Baukastenprinzips unter Linux: Man kann natürlich auch einfach mehrere Benutzeroberflächen oder Window Manager parallel installieren und ausprobieren.

Bonus-Komplexität: Display Server Protokolle

Es ist eigentlich etwas, womit man sich als Endnutzer:in nicht herumschlagen sollte, aber eine Ebene unter den Window Managern und Desktop Environments gibt es noch die Display Server Protokolle. Sie legen fest, wie Programme mit dem „Anzeige-System“ sprechen, also wie Grafik, Maus und Tastatur übermittelt werden. Wenn wir an das Schichtsystem aus Paradigma 2 zurückdenken, lässt sich das also irgendwo zwischen 3. der Programmebene und 4. der grafischen Obefläche verorten.

Die meisten grafischen Oberflächen basieren auf zwei Display Server Protokollen: X11 oder Wayland.

X11 gibt es schon seit den 80er-Jahren unter Linux und ist daher weit verbreitet, es hat aber entsprechend einige historische Altlasten und gilt heute als schwer weiterzuentwickeln. Zum Beispiel weil es früher keine Monitore mit hohen Auflösungen oder Systeme mit vielen Bildschirmen gab.

Wayland wurde daher 2008 ins Leben zu rufen, mit dem Ziel als moderne Alternative eines Tages X11 zu ersetzen. Das Protokoll steht, aber die Implementierung in die unterschiedlichen Desktop-Umgebungen ist noch sehr unterschiedlich vorangeschritten und es gibt quasi einen extra Layer für den Umgang mit X11-Programmen (XWayland).

Aktuell steigen also einige Distributionen von X11 auf Wayland um – das ist eine recht fundamentale Entwicklung, die sich da gerade in der Linux-Landschaft vollzieht. Es ist daher nicht schlecht, schon mal davon gehört zu haben, da es an vielen Stellen diskutiert wird.


Mehr dann bald in Teil 2 …

Dieser Beitrag ist Teil einer Artikelserie

Die Linux Paradigmen

Ein paar grundlegende Funktionsweisen des freien Betriebssystems.

  1. Die Linux Paradigmen – Teil 1

    Ben fragte mich nach Paradigmen, die Linux von Windows und Mac unterscheiden. Darüber habe ich ein wenig nachgedacht und bin zu einem Zwischenergebnis gekommen. Warum Zwischenergebnis? Weil ich mich zurückerinnert habe, wie…

  2. Die Linux Paradigmen – Nachtrag zu Teil 1

    In Teil 1 zu den Linux Paradigmen ging es u.a. um die Frage, welche Rolle eigentlich die Desktop-Oberflächen und Display-Server spielen. In diesem Kontext kam die Rückfrage auf, warum den Anwendungen es…

  3. Die Linux Paradigmen – Teil 2

    Wie Programme unter Linux bearbeitet werden.

Kommentare

  1. Ahhhh … 1000 Dank! Gerade der Unterschied zwischen den Desktop-Oberflächen, Windows-Managern und Display Server Protokollen hat sich mir bisher null erschlossen. Die grossen Diateoa behelligen einen damit ja gar nicht und die komplexeren wie Arch setzten gleich vorraus, dass man weiss was das ist, hihi.

    Was ich nur so halb verstehe, ist, ob oder warum den Anwendungen selber das egal zu sein scheint, welche GUI-Kompnenten man im Einsatz hat. Und dazu kommt noch, warum das so wichtig zu sein scheint. Ich meine klar: Manchen können dies und manche das, aber am Ende war mir das bisher fast immer egal, was die Desktop- und Window-Manager so tun. Man richtet sich halt ein … 😀

    So oder so: Ich freu mich schon.

    1. Der Grund, warum die Anwendungen unabhängig von der Desktop-Oberfläche funktionieren, sind eine weitere Ebene, die ich im Artikel nicht erwähnt habe.

      Und zwar gibt es zwischen den Display Server Protokollen (X11, Wayland) und den Desktop Environments (wie Gnome) oder Window Manager (wie Hyprland) noch die GUI-Toolkits oder -libraries. Die zwei bekanntesten dürften GTK und Qt sein.

      Nach meiner Kenntnis sorgen diese GUI-Toolkits quasi als Übersetzer, sodass die Anwendungen unter den jeweiligen Display Servern und Desktop-Umgebungen funktionieren. Sie sind also dafür zuständig, wie Fenster gezeichnet werden, wie die Steuerelemente sich verhalten etc.

      Und ja, aus Nutzersicht sollte eigentlich egal sein, wie das alle zusammenspielt – und Einsteiger-Distros managen das meist auch solide. Aber oft führen die unterschiedlichen Toolkits in Zusammenspiel mit den unterschiedlichen Desktop Servern und Window Managern zu Inkonsistenzen. Zum Beispiel kann ich bei Hyprland nicht einfach global einen Darkmode setzen, sondern muss das für unterschiedliche GUI-Toolkits machen, um einen möglichst einheitlichen Look zu bekommen.

      Die große Stärke von Linux mit den dutzenden unterschiedlichen Bauteilen und Standards ist da sicherlich auch die größte Schwäche. Apple und Microsoft können Standards weitgehend festlegen. Bei Linux ist es quasi unmöglich, eine leitende Designlinie durch den Software-Stack zu ziehen – zumindest, wenn man es nicht auf bestimmte Software-Pakete begrenzt.

Erwähnungen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.