GNOME on mukautettu hallittavaksi systemd:n ​​kautta

Benjamin Berg (Benjamin Berg), yksi GNOME-kehitykseen osallistuneista Red Hat -insinööreistä, tiivistettynä GNOMEn siirtämisessä istunnonhallintaan yksinomaan systemd:n ​​avulla ilman gnome-istuntoprosessia.

Sitä on käytetty jo jonkin aikaa GNOME-kirjautumisen ohjaamiseen. systemd-logind, joka seuraa käyttäjäkohtaisia ​​istuntotiloja, hallitsee istuntotunnisteita, vastaa aktiivisten istuntojen välillä vaihtamisesta, koordinoi monipaikkaisia ​​ympäristöjä, konfiguroi laitteen käyttökäytännöt, tarjoaa työkaluja sammuttamiseen ja nukkumaan menemiseen jne. .

Samaan aikaan osa istuntoon liittyvistä toiminnoista jäi gnome-session -prosessin harteille, joka vastasi D-Busin kautta hallinnasta, näytönhallinnan ja GNOME-komponenttien käynnistämisestä sekä käyttäjän määrittämien sovellusten automaattisen käynnistyksen järjestämisestä. . GNOME 3.34:n kehittämisen aikana gnome-istuntokohtaiset ominaisuudet pakataan systemd:n ​​yksikkötiedostoiksi, jotka suoritetaan "systemd —user" -tilassa, ts. suhteessa tietyn käyttäjän ympäristöön, ei koko järjestelmään. Muutokset on jo otettu käyttöön Fedora 31 -jakelussa, jonka odotetaan julkaistavan lokakuun lopussa.

Systemd:n ​​käyttö mahdollisti käsittelijöiden käynnistämisen järjestämisen tarpeen mukaan tai tiettyjen tapahtumien sattuessa sekä kehittyneemmän reagoinnin prosessien ennenaikaiseen lopettamiseen vioista johtuen ja riippuvuuksien laajamittaisen käsittelyn GNOME-komponentteja käynnistettäessä. Tämän seurauksena voit vähentää jatkuvasti käynnissä olevien prosessien määrää ja vähentää muistin kulutusta. Esimerkiksi XWayland voidaan nyt käynnistää vain, kun yritetään ajaa X11-protokollaan perustuvaa sovellusta, ja laitteistokohtaiset komponentit voidaan käynnistää vain, jos tällainen laitteisto on olemassa (esimerkiksi älykorttien käsittelijät käynnistyvät, kun kortti asetetaan ja päättyy, kun se poistetaan).

Käyttäjälle on ilmestynyt joustavampia työkaluja palvelujen käynnistämisen hallintaan, esimerkiksi multimediaavaimen käsittelijän poistamiseksi käytöstä riittää "systemctl -user stop gsd-media-keys.target" suorittaminen. Ongelmatapauksissa kuhunkin käsittelijään liittyviä lokeja voidaan tarkastella journalctl-komennolla (esimerkiksi “journalctl —user -u gsd-media-keys.service”), kun palvelussa on aiemmin otettu käyttöön virheenkorjauskirjaus (“Environment= G_MESSAGES_DEBUG=kaikki). On myös mahdollista ajaa kaikkia GNOME-komponentteja eristetyissä hiekkalaatikkoympäristöissä, joihin kohdistuu korkeammat turvallisuusvaatimukset.

Siirtymän tasoittamiseksi tuetaan vanhaa tapaa ajaa prosesseja on suunniteltu jatkuvat useiden GNOME-kehitysjaksojen ajan. Seuraavaksi kehittäjät tarkistavat gnome-istunnon tilan ja todennäköisesti (merkitty "todennäköiseksi") poistavat työkalut prosessien käynnistämiseen ja D-Bus API:n ylläpitoon siitä. Tällöin "systemd -user":n käyttö siirretään pakollisten toimintojen luokkaan, mikä voi aiheuttaa vaikeuksia järjestelmille ilman systemd-toimintoa ja edellyttää vaihtoehtoisen ratkaisun valmistelua, kuten aiemmin tapahtui systemd-logind. Puheessaan GUADEC 2019:ssä Benjamin Berg kuitenkin mainitsi aikomuksesta säilyttää tuki vanhalle käynnistysmenetelmälle järjestelmissä, joissa ei ole systemd-järjestelmää, mutta tämä tieto on ristiriidassa suunnitelmien kanssa. projektin sivu.

Lähde: opennet.ru

Lisää kommentti