Grafische Benutzeroberfläche des Linux-Betriebssystems

Grafische Benutzeroberfläche des Linux-Betriebssystems

Ich beschäftige mich derzeit aus Interesse mit Betriebssystemen und habe einige Artikel und Anleitungen zum Erstellen eigener Betriebssysteme gelesen. Linux und die Möglichkeit, ein eigenes Betriebssystem von Grund auf zu erstellen, finde ich nicht interessant. Ich habe herausgefunden, dass es vorgefertigte Linux-Betriebssysteme gibt, die man selbst anpassen kann. Nach eingehender Recherche stellt sich jedoch heraus, dass es nicht das ist, wonach ich suche.

Ich möchte den Teil des Betriebssystems anpassen können, mit dem der Benutzer interagiert (die Anwendung?), beispielsweise die Taskleiste (unter Windows), die Startschaltfläche, den Desktop usw., da ich kein Interesse daran habe, die Art und Weise zu ändern, wie Dateien geladen und Anwendungen verarbeitet werden. Aber wo fange ich mit der Suche an?

  • außerdem möchte ich kein Design erstellen, das bloß ein paar hübsch gefärbte Schaltflächen hat, sondern ich möchte die Grundlagen lernen und möglicherweise die Art und Weise nachbilden, wie es angezeigt wird.

Ein Hinweis in die richtige Richtung wäre nett, ebenso wie alles, was ich unterwegs lernen muss.

(Ich verfüge zwar nicht über Kenntnisse im Bereich Betriebssysteme, aber über mehrere höhere Programmiersprachen.)

Antwort1

Für Linux sind verschiedene grafische Benutzeroberflächen verfügbar, wie zum BeispielGNOME,KDEoderXfceDesktop-Umgebungen. Solche Desktop-Umgebungen umfassen eine Panel-Anwendung, wie zum BeispielGNOME-PaneloderKDE Kicker. Diese Anwendungen verfügen über eine Taskleiste und einen Anwendungsstarter (das Äquivalent zur Windows-Startschaltfläche). Die Desktopumgebungen umfassen außerdem eineFenstermanager, eine Software, die die Platzierung und das Erscheinungsbild von Anwendungsfenstern steuert. Das Erscheinungsbild aller dieser Fenster kann angepasst werden mitanders ArtenvonThemen.

Wenn Sie das Verhalten Ihrer grafischen Benutzerumgebung anpassen möchten, können Sie sich auch einige ansehenverschiedene Fenstermanager, die in allen möglichen Formen und Größen erhältlich sind.

Die meisten Linux-Distributionen werden mit einer der oben genannten Desktop-Umgebungen ausgeliefert, bieten aber normalerweise auch andere grafische Benutzerumgebungen zur Installation über ihrePaketverwaltungssysteme. Selbst wenn Ihnen die Standardumgebung der Distribution nicht gefällt, möchten Sie vielleicht trotzdem eine Distribution verwenden, anstatt die grafische Benutzerumgebung Ihrer Wahl von Grund auf neu einzurichten, was normalerweise keine Kleinigkeit ist.

Unter der Desktop-Umgebung verfügen die meisten Linux-Desktopsysteme über eine Implementierung desX Window System, die die Infrastruktur auf Systemebene für die grafische Benutzeroberfläche darstellt. Die kanonische Implementierung von X ist dieX.org Anzeigeserver, das heutzutage von den meisten Linux-Desktopdistributionen verwendet wird.

Waylandist ein aufstrebendes Display-Server-Protokoll, das das X Window System ersetzen soll. Die Referenzimplementierung einesCompositing-Fenstermanagerdenn Wayland heißtWeston. Sowohl das GNOME- als auch das KDE-Projekt haben angekündigt, dass sie Unterstützung für Wayland implementieren werden, aber derzeit ist es keine brauchbare Alternative auf dem Desktop, obwohl es von einigen Linux-basiertenInfotainment im Fahrzeug(IVI)-Systeme.

Antwort2

Ich möchte den Teil des Betriebssystems anpassen können, mit dem der Benutzer interagiert (die Anwendung?), beispielsweise die Taskleiste (unter Windows), die Startschaltfläche, den Desktop usw., da ich kein Interesse daran habe, die Art und Weise zu ändern, wie Dateien geladen und Anwendungen verarbeitet werden. Aber wo fange ich mit der Suche an?

Ich bin auch sehr wählerisch, was meinen Desktop angeht. GNU/Linux hat aufgrund seines modularen Designs das Potenzial, in dieser Hinsicht viel flexibler zu sein als Windows oder OSX, aber um das Beste daraus zu machen, muss man verstehen, wie alles zusammenpasst.

Über den Kernel hinaus umfasst eine normale Linux-GUI drei weitere Ebenen:

  1. Der Xorg-Server; dieser ist universell – meines Wissens nach gibt es keine Alternative dazu (Wayland ausgenommen, siehe Thomas Nymans Antwort). Er wird Server genannt, weil er einer ist; GUI-Anwendungen sind Clients des Servers. Xorg (früher X11 und auch bekannt als „X Windowing System“) stammt etwa aus derselben Zeit wie die ersten MS- und Apple-GUIs. 1 Obwohl Sie es auch allein verwenden können, ist das, was es bietet, aus Benutzersicht sehr rudimentär. Es ist jedoch wichtig zu wissen und zu verstehen, dass es sich um eine eigenständige Einheit handelt, ähnlich wie der Motor in einem Auto. Alleine ist ein Motor für die meisten Leute nicht sehr nützlich, aber natürlich ist ein Auto ohne Motor auch nicht von großem Nutzen.

  2. Der Fenstermanager, abgekürzt WM. Während X die grundlegenden Funktionen zum Erstellen von Fenstern bereitstellt, fügt der WM Dinge wie Titelleisten, Rahmen und freistehende Menüs hinzu. Einige Fenstermanager sind ausschließlich für die Integration mit #3 unten konzipiert, viele von ihnen können jedoch auch allein verwendet werden. Da der WM für das Verhalten und Erscheinungsbild des Fensters verantwortlich ist, kann ein guter eigenständiger WM Ihnen alles bieten, was Sie brauchen – wobei Sie bedenken sollten, dass Dinge wie Taskleisten eigentlich spezielle Formen von „Fenstern“ sind und einige WMs sie konfigurieren und instanziieren können. Außerdem sind Taskleisten und Docks oft unabhängige Anwendungen, die in einem WM ausgeführt werden können, ohne dass #3 erforderlich ist. Ich empfehle unbedingt, dies irgendwann einmal auszuprobieren, aber ich denke, es könnte für neue Benutzer etwas verwirrend sein.

  3. Die Desktopumgebung, abgekürzt DE. DEs bauen auf WMs auf und ermöglichen Ihnen oft die Wahl, welches WM Sie verwenden möchten, obwohl Sie zunächst bei der Standardeinstellung bleiben sollten. In vielerlei Hinsicht ist eine DE eigentlich ein GUI-Frontend für ein WM; WMs sind im Allgemeinen mit Textdateien konfiguriert und die DE bietet eine Point-and-Click-Oberfläche. Sie enthalten normalerweise auch eine integrierte Anwendungssuite, deren Herzstück ein Dateibrowser ist. Diese Anwendungen benötigen die DE jedoch oft nicht (z. B. ist meine Lieblings-Terminal-App XFCE Terminal, aber ich verwende XFCE nicht). Taskleisten können, wie bereits erwähnt, auch ein Beispiel dafür sein. Es gibt hier also viel Potenzial für Mischen und Anpassen.

Ich bin kein Experte, was den Stand der großen DEs angeht, daher kann ich nicht genau sagen, wie flexibel sie alle in Bezug auf die Konfiguration sind. Traditionell ist Flexibilität eher ein Merkmal des WM – der DE schränkt dies letztendlich ein, um seiner besonderen Vision gerecht zu werden. Allerdings (Sie wurden gewarnt!) erfordert ein wirklich dynamischer eigenständiger WM normalerweise viel Arbeit mit Textdateien, die etwa der Komplexität von HTML/CSS entsprechen – es ist nicht schwer, etwas Grundlegendes zu tun, aber um genau das zu bekommen, was Sie wollen, braucht man etwas Erfahrung.

Wenn Sie nichts dagegen haben, ein paar CDs zu brennen, würde ich ein paar Live-CDs brennen, die unterschiedliche DEs verwenden – Gnome, KDE, XFCE usw. – und dann versuchen, in kurzer Zeit herauszufinden, wie Sie sie Ihren Wünschen entsprechend gestalten können. Das klappt vielleicht nicht, aber es sollte Ihnen eine Vorstellung davon geben, mit welcher Sie lieber arbeiten. Ignorieren Sie an dieser Stelle die Themen und Farben und konzentrieren Sie sich auf die Funktion.

Derzeit verwende ich KDE als meine primäre Umgebung. Wie bereits erwähnt, bin ich sehr eigen und es ist sehr konfigurierbar. Ich habe mir GNOME schon lange nicht mehr angesehen und weiß nicht, wie es im Vergleich hinsichtlich der Konfigurierbarkeit abschneidet, aber ich würde denken, dass dies die beiden großen Kandidaten für Flexibilität in der DE-Kategorie sind.

Als letztes sei noch erwähnt,Widget-Satz, was eine Art Ebene wie 1,2,3 oben ist (aber nicht wirklich). 2 Der Widget-Satz bestimmt das Aussehen von allgemeinem Zeug innerhalb des Fensterrahmens (Schaltflächen, Bildlaufleisten usw.), weshalb esZWEIunterschiedliche, unabhängige Formen von „Themen“ im Spiel mit dem GUI-Erscheinungsbild: das Thema des Widget-Sets (innerhalb des Rahmens) und das Thema des WM (der Rahmen, die Titelleiste). Das am häufigsten verwendete Widget-Set in Linux ist GTK, das in Verbindung mit GNOME entwickelt wurde, aber auch von anderen DEs verwendet wird. Eine wichtige Ausnahme hiervon ist KDE, das Qt verwendet, ein plattformübergreifendes Toolkit.

1 Ja, das ist älter als Linux. X wird in der gesamten „unixähnlichen“ Welt verwendet.

2 „Widget-Set“ ist ein etwas vage Begriff, da Qt und GTK (+glib) deutlich mehr können, als nur Widgets bereitzustellen, aber das ist für den Moment gut genug.

verwandte Informationen