GNOME er tilpasset til at blive administreret via systemd

Benjamin Berg (Benjamin Berg), en af ​​Red Hat-ingeniørerne involveret i GNOME-udvikling, generaliseret resultater af arbejdet med at overføre GNOME til sessionsstyring udelukkende ved hjælp af systemd, uden at bruge gnome-session-processen.

Det har været brugt i et stykke tid til at kontrollere login til GNOME. systemd-logind, som sporer brugerspecifikke sessionstilstande, administrerer sessionsidentifikatorer, er ansvarlig for at skifte mellem aktive sessioner, koordinerer miljøer med flere sæder, konfigurerer enhedsadgangspolitikker, giver værktøjer til at lukke ned og gå i dvale osv. .

Samtidig forblev en del af den sessionsrelaterede funktionalitet på skuldrene af gnome-session-processen, som var ansvarlig for administration via D-Bus, lancering af display manager og GNOME-komponenter og organisering af autorun af brugerspecificerede applikationer . Under udviklingen af ​​GNOME 3.34 pakkes gnome-session-specifikke funktioner som enhedsfiler til systemd, eksekveret i "systemd —user" mode, dvs. i forhold til en bestemt brugers miljø og ikke hele systemet. Ændringerne er allerede implementeret i Fedora 31-distributionen, som forventes at blive frigivet i slutningen af ​​oktober.

Brugen af ​​systemd gjorde det muligt at organisere lanceringen af ​​handlere efter behov, eller når bestemte hændelser opstår, samt at reagere mere sofistikeret på for tidlig afslutning af processer på grund af fejl og i vid udstrækning håndtere afhængigheder ved start af GNOME-komponenter. Som et resultat kan du reducere antallet af konstant kørende processer og reducere hukommelsesforbruget. For eksempel kan XWayland nu kun startes, når man forsøger at køre en applikation baseret på X11-protokollen, og hardware-specifikke komponenter kan kun startes, hvis en sådan hardware er til stede (for eksempel vil behandlere til smartkort starte, når et kort indsættes og afslutte, når den er fjernet).

Mere fleksible værktøjer til styring af lanceringen af ​​tjenester er dukket op for brugeren; for eksempel, for at deaktivere multimedienøglehåndteringen, vil det være nok at udføre "systemctl -user stop gsd-media-keys.target". I tilfælde af problemer kan logfilerne, der er knyttet til hver handler, ses med journalctl-kommandoen (f.eks. "journalctl —user -u gsd-media-keys.service"), der tidligere har aktiveret fejlretningslogning i tjenesten ("Environment= G_MESSAGES_DEBUG=alle”). Det er også muligt at køre alle GNOME-komponenter i isolerede sandkassemiljøer, som er underlagt øgede sikkerhedskrav.

For at lette overgangen, støtte til den gamle måde at køre processer på er planlagt fortsætter over flere GNOME-udviklingscyklusser. Dernæst vil udviklerne gennemgå gnome-session-tilstanden og højst sandsynligt (markeret som "sandsynligt") fjerne værktøjerne til at starte processer og vedligeholde D-Bus API fra det. Så vil brugen af ​​"systemd -bruger" blive henvist til kategorien af ​​obligatoriske funktioner, hvilket kan skabe vanskeligheder for systemer uden systemd og vil kræve udarbejdelse af en alternativ løsning, som det engang var tilfældet med systemd-logind. Men i sin tale på GUADEC 2019 nævnte Benjamin Berg intentionen om at opretholde støtten til den gamle opstartsmetode for systemer uden systemd, men denne information er i modstrid med planerne for projektside.

Kilde: opennet.ru

Tilføj en kommentar