Benjamin Berg (), unul dintre inginerii Red Hat, care se ocupă cu dezvoltarea GNOME, rezultatele muncii asupra portării GNOME pentru gestionarea sesiunilor exclusiv prin intermediul systemd, fără utilizarea procesului gnome-session.
Pentru gestionarea autentificării în GNOME, deja de ceva timp se utilizează , care urmărește stările sesiunilor legate de utilizator, administrează identificatorii sesiunilor, este responsabil de comutarea între sesiunile active, coordonează mediile multi-utilizator (Multi-seat), configurează politicile de acces la dispozitive, oferă instrumente pentru oprirea și intrarea în modul de repaus etc.
În acest timp, o parte din funcționalitatea legată de sesiuni a rămas pe umerii procesului gnome-session, care se ocupa cu gestionarea prin D-Bus, pornirea managerului de afișare și a componentelor GNOME, organizarea autostartului aplicațiilor specificate de utilizator. În timpul dezvoltării GNOME 3.34, funcționalitățile specifice pentru gnome-session au fost formulate sub formă de fișiere unit pentru systemd, care sunt executate în modul „systemd --user”, adică legate de mediul unui utilizator specific, nu de întreaga sistemă. Modificările au fost deja aplicate în distribuția Fedora 31, al cărei lansare este așteptată la sfârșitul lunii octombrie.
Utilizarea systemd a permis organizarea lansării handler-urilor la cerere sau la apariția anumitor evenimente, precum și reacții mai sofisticate la încheierea prematură a proceselor din cauza erorilor și gestionarea extinsă a dependențelor la lansarea componentelor GNOME. Ca urmare, se poate reduce numărul de procese care rulează constant și se poate diminua consumul de memorie. De exemplu, XWayland poate fi lansat acum doar în momentul în care se încearcă utilizarea unei aplicații pe baza protocolului X11, iar componentele specifice anumitor echipamente, doar în prezența acestora (de exemplu, handler-urile pentru cardurile inteligente vor fi activate la inserția cardului și se vor opri la extragerea acestuia).
Utilizatorii au acum la dispoziție instrumente mai flexibile pentru gestionarea lansării serviciilor, de exemplu, pentru a dezactiva handler-ul pentru tastele multimedia, este suficient să executați „systemctl —user stop gsd-media-keys.target”. În cazul unor probleme, jurnalele aferente fiecărui handler pot fi vizualizate cu comanda journalctl (de exemplu, „journalctl —user -u gsd-media-keys.service”), după ce a fost activată în serviciu înregistrarea jurnalului de depanare („Environment=G_MESSAGES_DEBUG=all”). De asemenea, a apărut opțiunea de a lansa în medii sandbox izolate toate componentele GNOME, la care se impun cerințe sporite de securitate.
Pentru a netezi tranziția, suportul vechii metode de lansare a proceselor va fi menținut pe parcursul mai multor cicluri de dezvoltare GNOME. Apoi, dezvoltatorii vor revizui starea gnome-session și cel mai probabil (marcat ca „probabil”) vor elimina din acesta instrumentele de lansare a proceselor și de întreținere a API-ului D-Bus. Apoi, utilizarea „systemd —user” va fi transformată în funcționalitate obligatorie, 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 odată cu . Cu toate acestea, în discursul său de la conferința GUADEC 2019, Benjamin Berg a menționat intenția de a menține suportul pentru vechea metodă de lansare pentru sistemele fără systemd, dar această informație este în contradicție cu planurile pentru .

Sursa: opennet.ro
