Benjamin Berg (
Det har använts ganska länge för att kontrollera inloggning till GNOME.
Samtidigt fanns en del av den sessionsrelaterade funktionaliteten kvar på axlarna av gnome-sessionsprocessen, som ansvarade för hantering via D-Bus, lansering av skärmhanteraren och GNOME-komponenter, och organisera autorun av användarspecificerade applikationer . Under utvecklingen av GNOME 3.34 paketeras gnome-sessionsspecifika funktioner som enhetsfiler för systemd, exekveras i "systemd —användar"-läge, dvs. i förhållande till en specifik användares miljö och inte hela systemet. Ändringarna har redan implementerats i Fedora 31-distributionen, som förväntas släppas i slutet av oktober.
Att använda systemd gjorde det möjligt att organisera lanseringen av hanterare på begäran eller när vissa händelser inträffar, samt att mer sofistikerat svara på för tidig avslutning av processer på grund av misslyckanden och i stor utsträckning hantera beroenden när man startar GNOME-komponenter. Som ett resultat kan du minska antalet ständigt pågående processer och minska minnesförbrukningen. Till exempel kan XWayland nu bara startas när man försöker köra en applikation baserad på X11-protokollet, och hårdvaruspecifika komponenter kan bara startas om sådan hårdvara finns (till exempel kommer hanterare för smartkort att starta när ett kort sätts in och avslutas när den tas bort).
Mer flexibla verktyg för att hantera lanseringen av tjänster har dykt upp för användaren; för att till exempel inaktivera multimedianyckelhanteraren kommer det att räcka med att köra "systemctl -user stop gsd-media-keys.target". Vid problem kan loggarna som är associerade med varje hanterare ses med kommandot journalctl (till exempel "journalctl —user -u gsd-media-keys.service"), efter att ha aktiverat felsökningsloggning i tjänsten ("Environment= G_MESSAGES_DEBUG=alla”). Det är också möjligt att köra alla GNOME-komponenter i isolerade sandlådemiljöer, som är föremål för ökade säkerhetskrav.
För att smidiga övergången, stöd för det gamla sättet att köra processer
Källa: opennet.ru