GNOME är anpassad för att hanteras via systemd

Benjamin Berg (Benjamin Berg), en av Red Hat-ingenjörerna som är involverade i GNOME-utveckling, sammanfattas resultat av arbetet med att överföra GNOME till sessionshantering uteslutande med systemd, utan att använda gnome-session-processen.

Det har använts ganska länge för att kontrollera inloggning till GNOME. systemd-login, som spårar användarspecifika sessionstillstånd, hanterar sessionsidentifierare, ansvarar för att växla mellan aktiva sessioner, koordinerar miljöer med flera säten, konfigurerar enhetsåtkomstpolicyer, tillhandahåller verktyg för att stänga av och gå i viloläge, etc. .

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 planeras kvarstår under flera GNOME-utvecklingscykler. Därefter kommer utvecklarna att granska gnome-sessionstillståndet och troligen (markerade som "sannolikt") ta bort verktygen för att starta processer och underhålla D-Bus API från det. Då kommer användningen av "systemd -användare" att förpassas till kategorin obligatoriska funktioner, vilket kan skapa svårigheter för system utan systemd och kommer att kräva utarbetande av en alternativ lösning, som en gång var fallet med systemd-login. Men i sitt tal på GUADEC 2019 nämnde Benjamin Berg avsikten att behålla stödet för den gamla startmetoden för system utan systemd, men denna information strider mot planerna för projektsida.

Källa: opennet.ru

Lägg en kommentar