GNOME ist für die Verwaltung über systemd geeignet

Benjamin Berg (Benjamin Berg), einer der Red Hat-Ingenieure, die an der GNOME-Entwicklung beteiligt sind, zusammengefasst Ergebnisse der Arbeit beim Übergang von GNOME zur Sitzungsverwaltung ausschließlich mit systemd, ohne den Gnome-Sitzungsprozess zu verwenden.

Es wird seit geraumer Zeit zur Steuerung der Anmeldung bei GNOME verwendet. systemd-logind, das benutzerspezifische Sitzungszustände verfolgt, Sitzungskennungen verwaltet, für den Wechsel zwischen aktiven Sitzungen verantwortlich ist, Mehrplatzumgebungen koordiniert, Gerätezugriffsrichtlinien konfiguriert, Tools zum Herunterfahren und Ruhezustand bereitstellt usw. .

Gleichzeitig verblieb ein Teil der sitzungsbezogenen Funktionalität auf den Schultern des Gnome-Session-Prozesses, der für die Verwaltung über D-Bus, den Start des Display-Managers und der GNOME-Komponenten sowie die Organisation der automatischen Ausführung benutzerdefinierter Anwendungen verantwortlich war . Während der Entwicklung von GNOME 3.34 werden Gnome-Sitzungsspezifische Funktionen als Unit-Dateien für systemd gepackt und im „systemd –user“-Modus ausgeführt, d. h. in Bezug auf die Umgebung eines bestimmten Benutzers und nicht auf das gesamte System. Die Änderungen wurden bereits in der Distribution Fedora 31 umgesetzt, die voraussichtlich Ende Oktober erscheinen wird.

Mithilfe von systemd war es möglich, den Start von Handlern bei Bedarf oder beim Eintreten bestimmter Ereignisse zu organisieren, besser auf vorzeitige Beendigung von Prozessen aufgrund von Fehlern zu reagieren und Abhängigkeiten beim Starten von GNOME-Komponenten umfassend zu verwalten. Dadurch können Sie die Anzahl ständig laufender Prozesse reduzieren und den Speicherverbrauch senken. Beispielsweise kann XWayland jetzt nur gestartet werden, wenn versucht wird, eine auf dem X11-Protokoll basierende Anwendung auszuführen, und hardwarespezifische Komponenten können nur gestartet werden, wenn solche Hardware vorhanden ist (z. B. werden Handler für Smartcards gestartet, wenn eine Karte eingeführt wird). und endet, wenn es entfernt wird).

Für den Benutzer sind flexiblere Tools zum Verwalten des Starts von Diensten erschienen. Um beispielsweise den Multimedia-Key-Handler zu deaktivieren, reicht es aus, „systemctl -user stop gsd-media-keys.target“ auszuführen. Bei Problemen können die mit jedem Handler verknüpften Protokolle mit dem Befehl „journalctl“ (z. B. „journalctl —user -u gsd-media-keys.service“) angezeigt werden, nachdem zuvor die Debug-Protokollierung im Dienst aktiviert wurde („Environment= G_MESSAGES_DEBUG=all“). Es ist auch möglich, alle GNOME-Komponenten in isolierten Sandbox-Umgebungen auszuführen, die erhöhten Sicherheitsanforderungen unterliegen.

Um den Übergang zu erleichtern, unterstützen Sie die alte Art der Prozessabwicklung ist geplant bleiben über mehrere GNOME-Entwicklungszyklen bestehen. Als Nächstes werden die Entwickler den Gnome-Sitzungsstatus überprüfen und höchstwahrscheinlich (markiert als „wahrscheinlich“) die Tools zum Starten von Prozessen und zum Verwalten der D-Bus-API daraus entfernen. Dann wird die Verwendung von „systemd -user“ in die Kategorie der Pflichtfunktionen verbannt, was bei Systemen ohne systemd zu Schwierigkeiten führen kann und wie einst die Vorbereitung einer Alternativlösung erfordert systemd-logind. Allerdings erwähnte Benjamin Berg in seiner Rede auf der GUADEC 2019 die Absicht, die Unterstützung für die alte Startup-Methode für Systeme ohne systemd beizubehalten, diese Information steht jedoch im Widerspruch zu den Plänen für Seite des Projekts.

Source: opennet.ru

Kommentar hinzufügen