GNOME je prilagođen za upravljanje putem systemd-a

Benjamin Berg (Benjamin Berg), jedan od Red Hat inženjera uključenih u razvoj GNOME-a, generalizirani rezultati rada na prelasku GNOME-a na upravljanje sesijama isključivo korištenjem systemd-a, bez korištenja procesa gnome-session.

Već se neko vrijeme koristi za kontrolu prijave u GNOME. systemd-login, koji prati stanja sesije specifična za korisnika, upravlja identifikatorima sesije, odgovoran je za prebacivanje između aktivnih sesija, koordinira okruženja s više sjedala, konfigurira pravila pristupa uređaju, pruža alate za isključivanje i odlazak na spavanje, itd. .

U isto vrijeme, dio funkcionalnosti vezanih uz sesiju ostao je na plećima procesa gnome-session, koji je bio odgovoran za upravljanje putem D-Busa, pokretanje upravitelja zaslona i GNOME komponenti te organiziranje automatskog pokretanja aplikacija koje je odredio korisnik . Tijekom razvoja GNOME 3.34, značajke specifične za gnome sesiju pakirane su kao jedinične datoteke za systemd, koje se izvode u načinu rada "systemd —korisnik", tj. u odnosu na okolinu konkretnog korisnika, a ne na cijeli sustav. Promjene su već implementirane u distribuciji Fedora 31, čiji se izlazak očekuje krajem listopada.

Korištenje systemd-a omogućilo je organiziranje pokretanja rukovatelja na zahtjev ili kada se dogode određeni događaji, kao i sofisticiranije reagiranje na prerano prekidanje procesa zbog kvarova i opsežno rukovanje ovisnostima pri pokretanju GNOME komponenti. Kao rezultat toga, možete smanjiti broj stalno pokrenutih procesa i smanjiti potrošnju memorije. Na primjer, XWayland se sada može pokrenuti samo kada se pokuša pokrenuti aplikacija temeljena na X11 protokolu, a komponente specifične za hardver mogu se pokrenuti samo ako je takav hardver prisutan (na primjer, rukovatelji za pametne kartice pokrenut će se kada se kartica umetne i završava kada se ukloni).

Za korisnika su se pojavili fleksibilniji alati za upravljanje pokretanjem usluga; na primjer, da biste onemogućili rukovatelja multimedijskim ključevima, bit će dovoljno izvršiti "systemctl -user stop gsd-media-keys.target". U slučaju problema, zapisnici povezani sa svakim rukovateljem mogu se pregledati naredbom journalctl (na primjer, “journalctl —user -u gsd-media-keys.service”), nakon što je prethodno omogućeno bilježenje otklanjanja pogrešaka u usluzi (“Environment= G_MESSAGES_DEBUG=sve”). Također je moguće pokrenuti sve GNOME komponente u izoliranim sandbox okruženjima, koja podliježu povećanim sigurnosnim zahtjevima.

Za uglađen prijelaz, podrška za stari način pokretanja procesa planirano postojati tijekom višestrukih GNOME razvojnih ciklusa. Zatim će programeri pregledati stanje gnome sesije i najvjerojatnije (označeno kao "vjerojatno") ukloniti alate za pokretanje procesa i održavanje D-Bus API-ja iz njega. Tada će korištenje "systemd -user" biti potisnuto u kategoriju obaveznih funkcija, što može stvarati poteškoće za sustave bez systemd-a i zahtijevat će pripremu alternativnog rješenja, kao što je nekad bio slučaj s systemd-login. Međutim, u svom govoru na GUADEC 2019, Benjamin Berg spomenuo je namjeru održavanja podrške za staru metodu pokretanja za sustave bez systemd-a, no ta je informacija u suprotnosti s planovima za stranica projekta.

Izvor: opennet.ru

Dodajte komentar