Benjamin Berg (), en af ingeniørerne hos Red Hat, der arbejder med udviklingen af GNOME, resultaterne af arbejdet med at oversætte GNOME til session management udelukkende ved hjælp af systemd, uden brug af gnome-session processen.
Systemd-logind er allerede længe blevet brugt til at styre login i GNOME , som overvåger sessionernes tilstand i brugersammenhæng, styrer session-ID'er, håndterer skift mellem aktive sessioner, koordinerer multi-seat-miljøer, konfigurerer adgangspolitikker for enheder, giver midler til at lukke ned og går i dvalemodus osv.
Samtidig blev en del af funktionaliteten relateret til sessioner stadig håndteret af gnome-session processen, der havde ansvaret for management via D-Bus, opstart af display manager og GNOME-komponenter, og organisering af autostart af brugerdefinerede applikationer. I udviklingen af GNOME 3.34 blev de gnome-session specifikke funktionaliteter implementeret som unit-filer for systemd, der kører i 'systemd --user' tilstand, dvs. i forbindelse med en specifik brugers miljø, og ikke hele systemet. Ændringerne er allerede anvendt i distributionen Fedora 31, hvis udgivelse forventes i slutningen af oktober.
Brugen af systemd har givet mulighed for at organisere start af behandlere efter behov eller ved indtræden af specifikke begivenheder, samt reagere mere sofistikeret på for tidlige procesafslutninger på grund af fejl og udvidet håndtere afhængigheder ved opstart af GNOME komponenter. Som følge heraf kan antallet af konstant kørende processer reduceres og hukommelsesforbruget mindskes. For eksempel kan XWayland nu kun startes, når et applikationsprogram, der er baseret på X11-protokollen, forsøges kørt, og komponenter specifikke for bestemt hardware kun aktiveres, når sådanne hardware er tilgængelige (for eksempel vil behandlere for smartkort blive startet ved indsættelse af kortet og afsluttes ved udtagning).
For users, more flexible tools for managing the launch of services have become available. For example, to disable the multimedia key handler, it is sufficient to execute «systemctl —user stop gsd-media-keys.target». In case of problems, the logs related to each handler can be viewed with the journalctl command (for example, «journalctl —user -u gsd-media-keys.service»), after enabling debug logging in the service («Environment=G_MESSAGES_DEBUG=all»). There is also now the possibility of launching all components of GNOME in isolated sandbox environments, which have higher security requirements.
To ease the transition, support for the old way of launching processes will be maintained during several development cycles of GNOME. The developers will then review the status of gnome-session and are likely (noted as «likely») to remove process launch tools and D-Bus API maintenance from it. Consequently, the use of «systemd —user» will be made mandatory, which could create difficulties for systems without systemd and require the preparation of alternative solutions, as was once the case with . Nevertheless, in his speech at the GUADEC 2019 conference, Benjamin Berg mentioned plans to maintain support for the old launch method for systems without systemd, but this information is inconsistent with the plans for .

Kilde: opennet.ru
