Wer im Jahr 2021 sagt, er nutzt kein Linux, der lügt – oder weiß es einfach nicht besser. Gibt es doch an dem freien Betriebssystem längst kein Vorbeikommen mehr. Das liegt vor allem an der Dominanz von Linux im Server- und Cloud-Umfeld: Wer etwa eine Webseite aufruft, hat sehr gute Chancen, dass dahinter ein Linux-Systems steht. Doch Linux bildet auch die Basis von Android und damit dem weltweit am meisten genutzten Betriebssystem. Bei Chrome OS ist das ebenso, und selbst Windows liefert mittlerweile ein eigenes Linux-Subsystem mit.

Das ändert nichts daran, dass vielen Nutzern die Linux-Welt mit all ihren Begriffen eher verschlossen bleibt, immerhin spielt es im klassischen Desktopbereich weiter eine untergeordnete Rolle, und bei Android ist es ziemlich gut unter der Google-Oberfläche versteckt. Und selbst wer schon länger mit Linux unterwegs ist, muss nicht immer so ganz genau wissen, was mit Dingen wie Systemd, Wayland oder auch Flatpak gemeint ist – oder gar, warum diese Projekte relevant sind.

Im Folgenden also der Versuch, die wichtigsten Begriffe rund um Linux möglichst einfach verständlich zu erklären. Wie immer werden Anmerkungen und Präzisierungen im Forum dankend angenommen, was natürlich nichts daran ändert, dass der Autor immer recht hat. Der Artikel soll zudem bei Bedarf regelmäßig aktualisiert werden, um aktuelle Entwicklungen abzubilden. Immerhin soll das Gesagte auch dann noch stimmen, wenn später einmal auf den Artikel referenziert wird.

Kernel

Als Kernel wird bei einem Betriebssystem jener Bestandteil bezeichnet, der wörtlich im Kern aller Abläufe steht. Er stellt die Verbindung zwischen Hard- und Software her, er organisiert, wie welche Lasten verteilt werden, er bildet also gleichermaßen die grundlegende Infrastruktur für andere Systembestandteile wie auch für die Ausführung von Programmen.

Der Kernel ist auch, womit alles begann: Im Jahr 1991 stellte der finnische Student Linus Torvalds die erste Version seines – und, wie der Name schon verdeutlicht: wirklich seines – Hobbyprojekts vor: Linux. Der Name trägt aber noch eine zweite Anspielung in sich, nämlich auf ein älteres Betriebssystem namens Unix. Dieses ist bereits Ende der 60er- Jahre entstanden und diente in seinem Aufbau in vielerlei Hinsicht als "Inspiration" für Linux.

Der Erfinder eines der wichtigsten Stücke Software der Neuzeit, und doch gibt es in den Agenturarchiven praktisch kein aktuelles Foto von ihm: Linus Torvalds, hier bei einer Konferenz im Jahr 2000.
Foto: Imago

Das Ziel von Torvalds war es, eine Art Open-Source-Alternative zu all den kommerziellen – und damals meist ziemlich teuren – Unix-Varianten dieser Zeit zu schaffen. Dieser Plan darf als gelungen bezeichnet werden: Linux hat Unix über die Jahre in den meisten Einsatzbereichen praktisch zur Gänze verdrängt. Allerdings gibt es noch einige andere Unix-artige Betriebssysteme wie FreeBSD oder OpenBSD, die bis heute eine gewisse Bedeutung haben. Und auch Apple hat sich in der Unix-Welt bedient. Die Darwin genannte Grundlage für macOS und iOS geht auf freie Unix-Varianten zurück.

Bonus-Hinweis für Puristen: Genau genommen ist der Kernel nicht der zentrale Teil von Linux, er ist Linux. Über die Jahre hat sich aber eingebürgert, auch (viele) ihn umgebende Systeme als Ganzes so zu benennen. Wer gerne recht hat, darf diesen Umstand also unter jedem Artikel zu Linux als System als faktische Korrektur anmerken. Oder aber man verzichtet freiwillig darauf, sich bei allen anderen unbeliebt zu machen.

Open Source

Jetzt war schon kurz von "Open Source" die Rede, aber was heißt das eigentlich? Vereinfacht gesagt: dass der Quellcode öffentlich zur Verfügung steht. Wer das nötige Know-how hat, kann also im Detail sehen, wie sich das Programm zusammensetzt und was es tut. Vor allem aber ermöglicht die Verfügbarkeit des Codes auch, eigene Änderungen an der Software vorzunehmen und diese weiterzuentwickeln. Das ist der zentrale Unterschied zu proprietären Betriebssystemen wie Windows oder macOS, wo besagter Code von den Herstellern strikt geheimgehalten wird und die Nutzer die Programme ausschließlich in maschinenlesbarer Version erhalten – dem sogenannten Binärcode.

Wie so vieles in diesem Umfeld ist der Begriff "Open Source" übrigens nicht unumstritten, er ist direkt mit einem der ältesten Konflikte im Linux-Umfeld verbunden. Favorisieren doch viele den stärker politischen Ausdruck "Freie Software", wobei "frei" im Sinne von "Freiheit" und nicht "kostenlos" zu verstehen ist. Dieser betont nämlich, dass es eben nicht bloß um die Veröffentlichung des Codes geht, sondern auch um eine damit einhergehende Philosophie, die den Nutzern eine stärkere Kontrolle über die Software geben soll: die die Freiheit bietet, sie nach Belieben anzupassen, die aber über zugehörige Lizenzmodelle auch Pflichten für die Weiterverbreitung vorschreibt.

Freie Softwarelizenzen

Damit wären wir auch schon beim nächsten Punkt: den Softwarelizenzen, die mit alldem untrennbar verbunden wird. Jedes Stück freier Software wird unter einer gewissen Lizenz veröffentlicht, die die Spielregeln vorgibt. Unter Linux ist dabei historisch die GNU General Public License (GPL) in der Version 2 dominierend – unter der auch bis heute der Kernel steht. Diese erlaubt zwar die freie Weiternutzung und Veränderung der Software, schreibt aber auch vor, dass sämtliche Modifikationen wieder unter die GPL gestellt werden müssen.

Kein großer Linux-Fan: Ex-Microsoft-Boss Steve Ballmer, jetzt Besitzer des NBA-Teams Los Angeles Clippers und in dieser Rolle nicht minder leidenschaftlich.
Foto: Mark J. Terrill / AP

Eine Entscheidung, die durchaus beabsichtigt ist, soll dies doch die Verbreitung von freier Software fördern, indem auch umgebende Projekte und andockende Softwarebestandteile zur Nutzung dieser Lizenz animiert werden. Wie man sich vorstellen kann, ist diese "Viralität" nicht überall beliebt, sie war es etwa, die Microsoft-Boss Steve Ballmer im Jahr 2001 dazu bewog, Linux als "Krebsgeschwür" zu bezeichnen.

Die GPLv2 ist aber nicht die einzige freie Softwarelizenz. Gerade Unternehmen wählen bei ihren Open-Source-Projekten lieber andere Lizenzen – also zumindest, soweit es möglich ist. So verwendet etwa Google bei Android eine Apache-2.0-Lizenz, die es den Nutzern ermöglicht, den Code auch in kommerzielle Projekte zu übernehmen, ohne ihre Änderungen zurückgeben zu müssen. Nur beim Linux-Kernel müssen natürlich auch Google und all die Smartphone-Hersteller ihre Anpassungen unter der GPLv2 veröffentlichen – etwas, woran gerade letztere aber manchmal "freundlich" erinnert werden mussten. Überhaupt gab es in den vergangenen Jahren immer wieder Rechtsstreitigkeiten, bei denen es um von Firmen widerrechtlich geklauten Code aus Open-Source-Projekten ging. Denn im Endeffekt ist jedes Lizenzmodell nur etwas wert, wenn es auch durchgesetzt werden kann.

GNU

Wer lernen will, was ein rekursives Akronym ist, der ist beim GNU-Projekt gut aufgehoben – steht die Abkürzung GNU doch für "GNU's not Unix". Für den Bezugsrahmen dieses Textes aber wohl wichtiger: Das besagte Projekt ist für einige jener Tools verantwortlich, die rund um den Kernel dann für den Aufbau des restlichen Systems zum Einsatz kommen. Diese Rolle ist es denn auch, warum manche in der Open-Source-Welt darauf pochen, dass der korrekte Name eines Linux-Systems eigentlich GNU/Linux zu sein hat.

An dieser Stelle wird es jetzt wahrscheinlich niemanden mehr überraschen: Auch diese Position teilen längst nicht alle, genau genommen ignorieren die meisten Linux-Distributionen – zu diesem Begriff kommen wir später noch – den Zusatz. Übrigens arbeitet das GNU-Projekt seit Jahrzehnten an einem eigenen Kernel namens Hurd. Dieses Wissen ist vor allem für zynische Randbemerkungen in Forenpostings unerlässlich.

Desktops

Als Desktop wird die grafische Oberfläche eines Betriebssystems bezeichnet – so weit dürfte dies allgemein bekannt sein. Doch während es unter macOS oder Windows jeweils eine fixe Lösung gibt, kann man unter Linux aus einer Fülle unterschiedlicher Optionen wählen, die alle anders aussehen und zum Teil auch grundlegend verschiedene Konzepte verfolgen.

Ein aktueller Linux-Desktop von GNOME.
Screenshot: Proschofsky / STANDARD

Die zwei bekanntesten Unterfangen heißen KDE und GNOME. Beide Ende der 90er-Jahre entstanden, lieferten sie sich lange einen Wettstreit, in dessen Verlauf sich auch die jeweiligen Verfechter nicht immer freundlich begegneten. Über die Jahre hat sich aber überall ein gewisser Pragmatismus durchgesetzt, und auch hinter den Kulissen wird seit langem an der grundlegenden Infrastruktur zusammengearbeitet.

Bei den meisten Distributionen kommt heutzutage GNOME als Default-Desktop zum Einsatz, Ubuntu und Fedora sind hier prominente Beispiele. Andere wiederum verwenden GNOME-Derivate wie etwa Cinnamon (Linux Mint) oder auch Mate – das eine Abspaltung einer alten GNOME-Generation darstellt, da manche mit den Neuerungen von GNOME 3 nicht mitwollten.

Neben KDE gibt es aber auch noch eine ganze Reihe anderer, weitgehend unabhängiger Desktop-Projekte wie Xfce, Deepin, Budgie oder auch LXQt. Diese können bei vielen Linux-Distributionen nachinstalliert werden, einige bieten zudem gleich mehrere Download-Varianten, bei denen diese alternativen Desktops schon von Haus aus eingerichtet werden.

Toolkits

Es wäre reichlich unerfreulich, wenn jeder Entwickler für ein Programm die grafischen Grundelemente wieder neu erfinden müsste – und zwar sowohl für besagten Entwickler als auch die Nutzer, die dann unweigerlich mit einer wilden Mischung an inkonsistenten Bedienkonzepten zu kämpfen hätten. Aus diesem Grund gibt es Widget-Toolkits, die die wichtigsten Elemente standardisiert zum einfachen Zugriff bieten. Sie sind also quasi der Baukasten für die Oberfläche eines Programms.

Unter Linux dominieren dabei vor allem GTK+ sowie Qt, die zwar vornehmlich mit GNOME und KDE assoziiert sind, aber auch als Grundlage für andere Desktop-Projekte zum Einsatz kommen. Historisch gibt es zwar auch jede Menge anderer Toolkits, über die Jahre haben diese aber deutlich an Relevanz eingebüßt.

Diese freie Wahl ist natürlich schön für Entwickler, hat aber auch gewisse Nachteile: Ein für QT/KDE entwickeltes Programm fügt sich nicht immer gar so gut in einen GNOME-Desktop ein wie ein GTK+/GNOME-Programm – und umgekehrt. Zwar haben die beiden Projekte viele der Hürden in dieser Hinsicht über die Jahre abgebaut, trotzdem lässt sich dieser Effekt nicht ganz verleugnen.

Distribution

Jetzt sind wir endlich bei diesem mysteriösen Wort, das weiter oben schon ein paarmal gefallen ist: Distribution. Dessen Relevanz erklärt sich aus einem simplen Umstand. Es gibt nicht das Linux, sondern es gibt verschiedene Anbieter, die aus all den Teilen – also von Kernel über Desktop bis zu ausgewählten Programmen – ein funktionsfähiges System zusammenstellen: eben Distribution oder auch kurz "Distro" genannt. Solche Distributionen gibt es für fast jeden Zweck. Vom Einsatz im Bereich des "Internet der Dinge" über den Desktop bis zu Server und Cloud reicht die Palette. Wer es genauer wissen will, kann sich mal auf Distrowatch.com umsehen, wie viele unterschiedliche Angebote es so gibt.

Distributionen gibt es viele: Hier im Bild ist Fedora auf einem Thinkpad X1 Carbon Gen 8 von Lenovo zu sehen.
Foto: Proschofsky / STANDARD

Natürlich gibt es aber auch hier größere und weniger große Projekte. Zu den bekanntesten gehört Debian, auf dem dann wieder viele andere Distributionen basieren – etwa Ubuntu. Ebenfalls sehr traditionsreich sind die Angebote von Red Hat und SUSE – vor allem mit ihren Community-Distributionen OpenSUSE und Fedora. Ihr Geld machen beide Firmen aber mit ihren Angeboten für den Unternehmensbereich – und Red Hat gehört ja mittlerweile ohnehin zu IBM.

Wie wichtig die Rolle der Distribution – und damit auch deren Wahl – ist, zeigt sich auch an einem anderen Umstand: Traditionell ist sie nämlich praktisch zur Gänze für die Auslieferung und Wartung sämtlicher Software zuständig. Die Distributionsentwickler sind es also erst, die aus dem von den einzelnen Projekten gelieferten Quellcode dann die lauffähigen Binärdateien erstellen.

Paketmanager

Damit hätten wir wieder eine perfekte Überleitung zum nächsten Thema: Paketmanager. Dabei handelt es sich um jene Software, die für die Verwaltung der installierten Software zuständig ist. Wem das bekannt vorkommt: Ja, diesen zentralen Zugang kann man durchaus als eine Art Urahn all der App-Stores im mobilen Bereich sehen – auch wenn es im Detail durchaus Unterschiede gibt.

Der wichtigste Paketmanager unter Linux ist sicherlich DPKG mit dem zugehörigen Tool Apt, das aus der Debian-Welt stammt und von vielen anderen Distributionen übernommen wurde. Andere Distributionen bevorzugen wiederum RPM mit Tools wie DNF und Zypper oder (älter) YUM. So manche Distribution verwendet aber auch ganz eigene Paketmanager wie Pacman bei Arch Linux.

Diese zentrale Zuständigkeit der Distribution hat sich über die Jahre zwar generell bewährt – sie hat aber auch gewisse Nachteile. Da wäre zunächst einmal der Umstand, dass es dieses System Entwicklern von nichtfreier Software ziemlich schwermacht, Linux als Plattform zu unterstützen. Immerhin müssten sie dann ihre Programme selbst in angepassten Versionen für alle möglichen Distributionen anbieten. Dies führt dann oft dazu, dass es etwa nur Pakete für Ubuntu gibt – und auch da nur für ausgewählte Versionen.

Doch auch unter Open-Source-Entwicklern sind längst nicht alle mit diesem Ansatz zufrieden. Gerade bei großen Projekten wie LibreOffice oder Firefox kämpft man oftmals mit Fehlerberichten, wo nicht ganz klar ist, ob das Problem jetzt in der eigenen Software oder in Anpassungen und Optimierungen der jeweiligen Distribution liegt. Zudem kann man bei der Veröffentlichung neuer Versionen nicht selbst bestimmen, wann diese an sämtliche Nutzer geliefert werden. Oft bieten Distributionen veraltete Versionen, was weder für Entwickler noch für die Nutzer erfreulich ist.

Snap und Flatpak

Welches Paketformat auch immer: Für die Nutzer versteckt sich all das üblicherweise hinter einer grafischen Softwarezentrale.
Screenshot: Proschofsky / STANDARD

Entsprechend gibt es derzeit mehrere Versuche ",modernere" Paketmanager zu etablieren, wovon Snap und Flatpak die bekanntesten sind. Die Idee dahinter ist, dass dasselbe Paket auf sämtlichen Distributionen laufen soll. Zudem sollen die solcherart ausgelieferten Programme auch gleich isoliert vom restlichen System laufen, was aus einer Sicherheits- und Privatsphärenperspektive Vorteile verspricht, da damit detailliert beschränkt werden kann, worauf die Programm Zugriff haben. Nun muss betont werden, dass derzeit ein Teil dieser Versprechen noch nicht ganz gehalten werden kann, da das auch mit Umbauten an anderen Stellen einhergeht, die Entwicklung geht aber nach und nach in diese Richtung. Zudem gibt es eben zum Teil die Pakete dann direkt vom Hersteller, Mozilla liefert etwa eigene Snaps und Flatpaks, LibreOffice hält es genauso.

Aber natürlich ist auch dieser Trend nicht unumstritten. Größter Kritikpunkt ist dabei, dass – ohne zu sehr in die Details gehen zu wollen – mit so einem System ein gewisser Overhead einhergeht, vor allem mehr Speicherplatz am Datenträger verbraucht wird. Über diverse Tricks wird zwar versucht, diesen Effekt zu minimieren, trotzdem sind klassische Paketmanager in dieser Hinsicht natürlich sparsamer.

Trotzdem gibt es mittlerweile bereits Distributionen, die ganz auf Flatpaks für ihre Desktop-Programme setzen. Endless OS ist so ein Beispiel, bei der Fedora-Variante Silverblue versucht man sich ebenfalls an einem System, bei dem diese Pakete ganz im Vordergrund stehen. Snaps sind hingegen eine Erfindung von Ubuntu-Hersteller Canonical, der vor allem in diesem Umfeld Bedeutung zukommt.

Am Rande: Klingt alles sehr kompliziert, in der Praxis darf man aber auch nicht vergessen, dass die meisten Nutzer davon recht wenig merken. Immerhin lassen sich auch bei Linux-Desktops die Programme bequem über eine grafische Softwarezentrale installieren – egal ob dahinter dann ein Deb-Paket oder ein Flatpak steht. Aber wir sind ja hier, um auch die Hintergründe zu erklären.

X Window System / X11

Grafische Oberflächen mögen seit langem ein fixer Bestandteil des Computeralltags sein, das ändert aber nichts daran, dass es auch eine Zeit davor gab, zu der ausschließlich via Text mit dem Rechner kommuniziert wurde, ganz ohne Icons und Fenster. Unter Unix brachte das vom MIT entwickelte X Window System den Startschuss ins Zeitalter der grafischen Oberflächen. 1984 erstmals vorgestellt, folgte bereits 1987 die bis heute aktuellste Generation des zugrunde liegenden Protokolls – X11 genannt. Zwar gab es für dieses über die Jahre natürlich allerlei Erweiterungen, die Grundlagen blieben aber dieselben.

Auch moderne Desktops wie im Bild Plasma von KDE sind zunächst auf X11-Basis entstanden – und haben noch allerlei Abhängigkeiten.

Als dann Linux in den Neunzigerjahren auf der Bühne erschien, lag der Griff zu X11 nahe, um dem neuen Betriebssystem auch eine grafische Oberfläche zu bescheren. Lange war XFree86 die unter Linux favorisierte Implementation von X11, nach allerlei Konflikten spaltete sich im Jahr 2004 allerdings das X.org-Projekt ab, hinter das sich schnell alle wichtigen Firmen und Projekte stellten. Und das auch mit einem der besten Domainnamen überhaupt aufwarten kann – eben x.org.

Der Fork von X.org brachte zwar wieder – etwas – frischen Schwung in die Entwicklung, das änderte aber nichts daran, dass die Architektur aus Zeiten stammt, in denen von modernen Desktops und all den damit einhergehenden technischen Herausforderungen noch nicht einmal geträumt wurde. Entsprechend war X11 mit seinem Konzept als umfassender Grafikserver zwar sehr gut für den Remote-Betrieb – also den Zugriff von einem anderen Rechner aus – geeignet, bei der Aktualisierung des Codes für moderne Desktop-Ansprüche taten sich die Entwickler aber zunehmend schwer. Also machte sich ein Teil davon an eine komplett neue Entwicklung und zwar:

Wayland

Die einfachste Beschreibung für Wayland ist, dass es der Nachfolger für X.org ist, also dessen Aufgaben zur Darstellung grafischer Inhalte übernimmt. Genau genommen ist es natürlich etwas komplizierter. So versteht sich Wayland nicht als die zentrale Lösung für alles, sondern als ein Protokoll, das von den einzelnen Desktops implementiert werden muss. Gleichzeitig wurden viele Aufgaben, die historisch der X-Server übernommen hatte, an andere Stellen ausgelagert, etwa an den Kernel, Grafikbibliotheken oder eben auch den Desktop. Trotzdem: Mit einer gewissen Unschärfetoleranz ist die Klassifizierung als X.org-Nachfolger durchaus zulässig.

Das Problem dabei: X.org ist historisch in der Linux-Welt dermaßen stark verankert, dass die Umstellung auf Wayland ein Kraftakt von herkulischen Ausmaßen ist. Von den Desktops über die grafischen Toolkits bis zu Grafiktreibern und schlussendlich den Anwenderprogrammen selbst – alle müssen sie angepasst werden. Das führt dann auch dazu, dass Wayland, obwohl das Projekt bereits 2008 gestartet wurde, bei vielen Distributionen erst in jüngerer Vergangenheit zur Default-Wahl aufstieg. So hat etwa Ubuntu gerade erst seinen Desktop von Haus aus auf Wayland gewechselt, was vor allem daran lag, dass es sehr lange dauerte, bis Nvidia eine damit vollständig kompatible Version seiner eigenen – proprietären – Treiber bot. Zudem mussten aber auch die Wayland-Entwickler noch so manche funktionelle Lücke im Vergleich zu X.org schließen – gerade im Hinblick auf die bei X11 so zentralen Remote-Fähigkeiten. Einzelne Distributionen wie Fedora, die ganz auf freie Treiber setzen, liefern trotzdem schon länger Wayland als Standardlösung.

Ob X11 oder Wayland: Auf den ersten Blick sehen die Nutzer keinen Unterschied. Allerdings kann üblicherweise beim Login zwischen diesen Optionen gewählt werden.
Screenshot: Proschofsky / STANDARD

Aktuell (Stand: Ende 2021) funktionieren GNOME und GNOME-basierte Desktops jedenfalls tadellos mit Wayland, in einigen Punkten sogar besser als X.org, weil hier manch neue Features wegen der erwähnt hohen technischen Hürden nicht mehr für die alte Lösung implementiert werden. Und auch rund um KDE hat der Wayland-Support zuletzt massive Fortschritte gemacht. Bis X.org komplett aus dem Linux-Desktop verschwindet, wird trotzdem noch viel Zeit den Open-Source-Bach hinuntergehen – falls das je passiert. Das liegt daran, dass wie erwähnt eben auch die Desktop-Programme angepasst werden müssen. Und das ist wiederum sehr viel Aufwand, so hat etwa Firefox diesen Wechsel erst unlängst vorgenommen, während bei Chrome/Chromium noch daran gearbeitet wird. Und für ältere, nicht mehr aktiv entwickelte Programme sieht es ohnehin schlecht aus.

XWayland

Das wirft natürlich die Frage auf: Wie laufen all diese Programme auf einem modernen Wayland-basierten Desktop? Über eine Kompatibilitätslösung namens XWayland, die für das jeweilige Programm quasi einen eigenen X11-Server innerhalb des restlichen Desktops aufmacht. Die Nutzer bemerken davon nichts – oder sagen wir besser mal fast nichts. Ein paar Bugs im Zusammenspiel dieser Welten tauchen dann ehrlich gesagt doch immer wieder auf, aber das wird schon noch (hoffentlich).

Systemd

Kommen wir nach all den Kontroversen endlich wieder zu einem ganz und gar unumstrittenen Thema: Systemd. Im Kern ist dieses vor allem für den Startvorgang des Systems sowie all der dazu benötigten Dienste zuständig, hat über die Jahre aber auch allerlei damit verwandte Aufgaben übernommen, enthält etwa mittlerweile Tools zum Mitprotokollieren aller Aktivitäten (Logging), dem Einrichten des Netzwerks oder auch dem Einstellen von Zeit und Datum. Damit ist es also eines der wichtigsten – und größten – Projekte für aktuelle Linux-Systeme.

Zeit, etwas einzugestehen: Die Bemerkung, dass Systemd unumstritten ist, mag nicht ganz richtig gewesen sein. Ganz im Gegenteil gibt es wenige Projekte, über die sich Linux-Fans lieber virtuell den Kopf einschlagen. Das liegt einerseits daran, dass Systemd viele Aufgaben übernommen hat, die historisch von einem Sammelsurium an Einzeltools abgehandelt wurden – was für Puristen der klassischen Unix-Philosophie widerspricht, die ein Tool für eine Aufgabe vorsieht. Für die Gegenseite ist genau das eine entscheidende Stärke von Systemd, hat es doch viele dieser Aufgaben vereinheitlicht.

In früheren Jahren wurde der Systemstart übrigens über andere Lösungen wie SysVinit abgewickelt. Schon vor Systemd gab es allerlei Versuche, Alternativen zu etablieren, darunter etwa Upstart von Ubuntu-Hersteller Canonical. Mittlerweile haben sich aber praktisch alle großen Distributionen – und das inkludiert Ubuntu – auf Systemd geeinigt. Die Open-Source-Welt hat aber natürlich auch hier Platz für das Ausleben unterschiedlicher Meinungen. Wer will, kann also auch Distributionen wie den Debian-Abkömmling Devuan verwenden, bei dem Systemd vollständig durch andere Programme ersetzt wird.

Kommandozeile

An dieser Stelle erinnern wir uns daran, was weiter oben bei den Ausführungen zum Thema X.org erwähnt wurde, nämlich dass es einmal eine Zeit gab, in der Computer noch keine grafischen Oberflächen hatten. Die Kommandozeile ist so etwas wie die Weiterentwicklung der damaligen Terminals – eine Art Text-Interface für den Computer also.

Über die Kommandozeile lässt sich viel machen, hier etwa Details zu allen installierten Snap-Paketen auf einem aktuellen Ubuntu-System.
Screenshot: Proschofsky / STANDARD

Hartnäckig hält sich das Gerücht, dass man bei einem Linux-Desktop nicht um ein gewisses Grundwissen im Umgang mit der Kommandozeile herumkommt. Das mag in früheren Jahren tatsächlich so gewesen sein, bei einem modernen Desktop von Ubuntu, Fedora oder Linux Mint ist das aber eben nicht mehr als das: ein Gerücht. Dort kommt man sehr gut allein mit den grafischen Tools aus.

Gleichzeitig kann es sich durchaus lohnen, sich mal mit diesem Thema auseinanderzusetzen. Ist so eine moderne Kommandozeile doch auch ein äußerst mächtiges Ding, über das sich das System nach Belieben anpassen und kontrollieren lässt. Vor allem lernt man dabei auch gleich etwas darüber, wie so ein System eigentlich aufgebaut und was wofür zuständig ist. Wie gesagt: muss einen nicht interessieren, als Option ist es aber da.

Auch hier gibt es wieder eine Fülle an Terminal-Programmen für jeden Geschmack, in denen dann wieder unterschiedliche Shells laufen können – mit jeweils unterschiedlichen Möglichkeiten und Eigenheiten in der Umsetzung dieses Text-Interfaces. Die unter Linux meistgenutzte Shell ist die Bash, genau gesagt werden durchschnittliche Nutzer kaum mit etwas anderem in Berührung kommen, da sie praktisch überall die Standardwahl ist.

Root / sudo

Aus Sicherheitsgründen sind die Möglichkeiten regulärer Nutzer auf einem Linux-System stark beschränkt. Das hat auch gute Gründe, immerhin soll verhindert werden, dass mal so eben unachtsam eine Änderung vorgenommen wird, nach der der Rechner nicht mehr startet. Oder auch, dass ein harmlos scheinendes Programm mit bösartigen Absichten eine Totalüberwachung des Systems einrichtet. Zudem gilt es auf von mehreren Benutzern verwendeten Systemen, deren Daten sauber voneinander zu trennen, damit nicht jeder all die privaten Informationen der anderen sehen kann.

Für Administrationszwecke braucht es aber oft einen umfassenden Zugriff, dafür ist unter Linux der "Root" genannte Nutzer zuständig, in der Windows-Welt wäre das Pendant dazu der "Administrator". Historisch gesehen steckt hinter Root wirklich ein eigener User mit separatem Passwort. Allerdings gibt es über das Tool "sudo" auch für normale Nutzer die Möglichkeit, Programme einzeln mit Root-Berechtigungen auszuführen – so sie denn dafür die Erlaubnis haben. Als zusätzliche Absicherung muss bei der ersten Ausführung von sudo in einer laufenden Sitzung das Benutzerpasswort noch einmal eingegeben werden.

"sudo" gibt es zwar schon länger, in den vergangenen Jahren sind aber viele Desktop-Distributionen dazu übergangen, von Haus aus ganz auf die Einrichtung eines eigenen Root-Zugangs zu verzichten. Stattdessen bekommt einfach der erste eingerichtete Nutzer automatisch sudo-Berechtigungen. Die Nutzung von sudo ist denkbar einfach, der Begriff wird einfach in der Kommandozeile dem eigentlichen Befehl vorangestellt. Wer nicht weiß, was er da tut, sollte dies aber ohnehin lieber lassen. (Andreas Proschofsky, 5.12.2021)