Benjamin Berg (), een van de engineers van Red Hat die betrokken is bij de ontwikkeling van GNOME, de resultaten van het werk aan de overgang van GNOME naar sessiemanagement uitsluitend met behulp van systemd, zonder gebruik te maken van het gnome-session proces.
Voor het beheer van inlogs in GNOME wordt al geruime tijd gebruikgemaakt van , dat de status van sessies bijhoudt in relatie tot gebruikers, sessie-identificaties beheert, zorgt voor schakelen tussen actieve sessies, coƶrdineert multi-seat omgevingen, configureert toegangsbeleid voor apparaten, biedt middelen voor het afsluiten en de slaapstand enzovoort.
In dit proces bleef een deel van de sessiegerelateerde functionaliteit op de schouders van het gnome-session proces, dat verantwoordelijk was voor het beheer via D-Bus, het starten van de display manager en GNOME-componenten, en het organiseren van automatisch starten van door de gebruiker aangegeven applicaties. In de ontwikkeling van GNOME 3.34 zijn gnome-session-specifieke mogelijkheden omgevormd tot unit-bestanden voor systemd, die worden uitgevoerd in de modus 'systemd --user', dat wil zeggen in relatie tot de omgeving van een specifieke gebruiker, en niet het hele systeem. Wijzigingen zijn al toegepast in de distributie Fedora 31, waarvan de release eind oktober wordt verwacht.
Het gebruik van systemd heeft het mogelijk gemaakt om behandelaars op aanvraag of bij bepaalde gebeurtenissen te starten, evenals geavanceerder te reageren op voortijdige beƫindiging van processen door fouten en uitgebreidere afhankelijkheden te verwerken bij het starten van GNOME-componenten. Dit heeft geleid tot een vermindering van het aantal voortdurend actieve processen en een lagere geheugengebruik. Bijvoorbeeld, XWayland kan nu alleen worden gestart bij de uitvoering van een applicatie op basis van het X11-protocol, en hardware-specifieke componenten alleen wanneer die hardware beschikbaar is (bijvoorbeeld, behandelaars voor smartcards worden gestart wanneer de kaart wordt ingevoerd en beƫindigd wanneer deze wordt verwijderd).
Voor gebruikers zijn er meer flexibele hulpmiddelen voor het beheren van de opstart van services beschikbaar, bijvoorbeeld, om de handler voor multimediatoetsen uit te schakelen, volstaat het om "systemctl --user stop gsd-media-keys.target" uit te voeren. In geval van problemen kunnen logs die met elke handler verband houden worden bekeken met het commando journalctl (bijvoorbeeld, "journalctl --user -u gsd-media-keys.service"), nadat debug-logging in de service is ingeschakeld ("Environment=G_MESSAGES_DEBUG=all"). Daarnaast is het nu mogelijk om alle componenten van GNOME te starten in geĆÆsoleerde sandbox-omgevingen, waarbij hoge beveiligingseisen worden gesteld.
Om de overgang te versoepelen, wordt de ondersteuning voor de oude manier van het starten van processen behouden voor meerdere ontwikkelingscycli van GNOME. Vervolgens zullen de ontwikkelaars de status van gnome-session beoordelen en waarschijnlijk (aangegeven als "waarschijnlijk") de middelen voor het starten van processen en het onderhouden van de D-Bus API verwijderen. Daarna zal het gebruik van "systemd --user" verplicht worden, wat problemen kan opleveren voor systemen zonder systemd en alternatieve oplossingen vereisen, zoals destijds gebeurde met . Echter, in zijn toespraak op de GUADEC 2019-conferentie noemde Benjamin Berg de intentie om de ondersteuning voor de oude opstartmethode voor systemen zonder systemd te behouden, maar deze informatie komt niet overeen met de plannen voor .

Bron: opennet.ru
