Benjamin Berg (), ein Ingenieur bei Red Hat, der an der Entwicklung von GNOME arbeitet, die Ergebnisse der Arbeit zur Ăbersetzung von GNOME in ein reines systemd-Session-Management ohne den Einsatz des Prozesses gnome-session.
FĂŒr das Management der Anmeldung in GNOME wird bereits seit langer Zeit , das die SitzungszustĂ€nde benutzerspezifisch verfolgt, die Sitzungs-IDs verwaltet, den Wechsel zwischen aktiven Sitzungen steuert, Mehrbenutzerumgebungen (Multi-seat) koordiniert, Zugriffsrichtlinien fĂŒr GerĂ€te konfiguriert, Mittel zum Herunterfahren und in den Standby-Modus bereitstellt usw.
Ein Teil der mit Sitzungen verbundenen FunktionalitĂ€t blieb jedoch auf den Schultern des Prozesses gnome-session, der fĂŒr das Management ĂŒber D-Bus, den Start des Display Managers und der GNOME-Komponenten sowie die Organisation des Autostarts durch den Benutzer angelegt war. Im Verlauf der Entwicklung von GNOME 3.34 wurden spezifische gnome-session Funktionen in Form von Unit-Dateien fĂŒr systemd implementiert, die im Modus âsystemd --userâ ausgefĂŒhrt werden, d.h. im Kontext der Umgebung eines bestimmten Benutzers und nicht des gesamten Systems. Die Ănderungen sind bereits in der Distribution Fedora 31 angewendet worden, deren Veröffentlichung Ende Oktober erwartet wird.
Die Verwendung von systemd ermöglicht es, Handler on-demand oder bei bestimmten Ereignissen zu starten und prĂ€ziser auf vorzeitige ProzessabschlĂŒsse aufgrund von Fehlern zu reagieren und AbhĂ€ngigkeiten beim Start von GNOME-Komponenten ausgiebig zu handhaben. Infolgedessen kann die Anzahl der stĂ€ndig laufenden Prozesse reduziert und der Speicherverbrauch gesenkt werden. Beispielsweise kann XWayland nun nur dann gestartet werden, wenn eine Anwendung auf Basis des X11-Protokolls ausgefĂŒhrt wird, und komponentenspezifische Routinen nur bei Vorhandensein entsprechender Hardware (z.B. werden Treiber fĂŒr Smartcards beim Einstecken der Karte gestartet und beim Herausziehen beendet).
FĂŒr Benutzer stehen nun flexiblere Werkzeuge zur VerfĂŒgung, um den Start von Diensten zu verwalten. Zum Beispiel reicht es aus, «systemctl âuser stop gsd-media-keys.target» auszufĂŒhren, um den Multimedia-Tastenhandler zu deaktivieren. Bei Problemen können die Protokolle jedes Handlers mit dem Befehl journalctl (zum Beispiel «journalctl âuser -u gsd-media-keys.service») angesehen werden, nachdem das Protokollieren im Dienst aktiviert wurde («Environment=G_MESSAGES_DEBUG=all»). AuĂerdem gibt es die Möglichkeit, alle GNOME-Komponenten in isolierten Sandbox-Umgebungen zu starten, die hohe Sicherheitsanforderungen stellen.
Um den Ăbergang zu erleichtern, wird die UnterstĂŒtzung der alten Methode zum Starten von Prozessen ĂŒber mehrere Entwicklungszyklen von GNOME hinweg beibehalten. Die Entwickler werden anschlieĂend den Zustand von gnome-session ĂŒberprĂŒfen und höchstwahrscheinlich (als «likely» markiert) die Mittel zum Starten von Prozessen sowie die UnterstĂŒtzung des D-Bus-APIs entfernen. Dann wird die Anwendung von «systemd âuser» zu einer verpflichtenden Funktion erhoben, was Schwierigkeiten fĂŒr Systeme ohne systemd schaffen könnte und eine Vorbereitung alternativer Lösungen erfordert, Ă€hnlich wie es zuvor der Fall war. . Dennoch erwĂ€hnte Benjamin Berg bei seinem Vortrag auf der GUADEC 2019 die Absicht, die UnterstĂŒtzung der alten Methode fĂŒr Systeme ohne systemd beizubehalten, jedoch steht diese Information im Widerspruch zu den PlĂ€nen fĂŒr .

Quelle: opennet.ru
