GNOME este adaptat pentru a fi gestionat prin systemd

Benjamin Berg (Benjamin Berg), unul dintre inginerii Red Hat implicați în dezvoltarea GNOME, rezumat rezultatele muncii privind tranziția GNOME la managementul sesiunii folosind exclusiv systemd, fără a utiliza procesul gnome-session.

A fost folosit de ceva timp pentru a controla autentificarea la GNOME. systemd-logind, care urmărește stările de sesiune specifice utilizatorului, gestionează identificatorii de sesiune, este responsabil pentru comutarea între sesiunile active, coordonează mediile cu mai multe locuri, configurează politicile de acces la dispozitive, oferă instrumente pentru închiderea și trecerea în repaus etc.

În același timp, o parte a funcționalității legate de sesiune a rămas pe umerii procesului de sesiune gnome, care era responsabil cu gestionarea prin D-Bus, lansarea managerului de afișare și a componentelor GNOME și organizarea rulării automate a aplicațiilor specificate de utilizator. . În timpul dezvoltării GNOME 3.34, caracteristicile specifice sesiunii gnome sunt împachetate ca fișiere unitare pentru systemd, executate în modul „systemd —user”, adică. în raport cu mediul unui anumit utilizator, și nu cu întregul sistem. Modificările au fost deja implementate în distribuția Fedora 31, care este de așteptat să fie lansată la sfârșitul lunii octombrie.

Utilizarea systemd a făcut posibilă organizarea lansării handlerelor la cerere sau atunci când apar anumite evenimente, precum și răspunsul mai sofisticat la terminarea prematură a proceselor din cauza eșecurilor și gestionarea extensivă a dependențelor la pornirea componentelor GNOME. Ca rezultat, puteți reduce numărul de procese care rulează constant și puteți reduce consumul de memorie. De exemplu, XWayland poate fi lansat acum numai atunci când se încearcă să ruleze o aplicație bazată pe protocolul X11, iar componentele specifice hardware-ului pot fi lansate numai dacă un astfel de hardware este prezent (de exemplu, handlerele pentru carduri inteligente vor porni atunci când este introdus un card). și se încheie când este îndepărtat).

Au apărut instrumente mai flexibile pentru gestionarea lansării serviciilor pentru utilizator; de exemplu, pentru a dezactiva gestionarea cheilor multimedia, va fi suficient să executați „systemctl -user stop gsd-media-keys.target”. În caz de probleme, jurnalele asociate fiecărui handler pot fi vizualizate cu comanda journalctl (de exemplu, „journalctl —user -u gsd-media-keys.service”), având anterior activată înregistrarea de depanare în serviciu („Mediu= G_MESSAGES_DEBUG=toate”). De asemenea, este posibil să rulați toate componentele GNOME în medii izolate sandbox, care sunt supuse unor cerințe de securitate sporite.

Pentru a ușura tranziția, suport pentru vechiul mod de a rula procesele este planificat persistă pe mai multe cicluri de dezvoltare GNOME. În continuare, dezvoltatorii vor revizui starea sesiunii gnome și cel mai probabil (marcat ca „probabil”) vor elimina instrumentele pentru lansarea proceselor și menținerea API-ului D-Bus din aceasta. Apoi folosirea „systemd -user” va fi retrogradată în categoria funcțiilor obligatorii, ceea ce poate crea dificultăți pentru sistemele fără systemd și va necesita pregătirea unei soluții alternative, așa cum a fost cândva cazul cu systemd-logind. Cu toate acestea, în discursul său de la GUADEC 2019, Benjamin Berg a menționat intenția de a menține suportul pentru vechea metodă de pornire pentru sistemele fără systemd, dar aceste informații sunt în contradicție cu planurile pentru pagina proiectului.

Sursa: opennet.ru

Adauga un comentariu