GNOME adaptat per a la gestió del sistema

Benjamin Berg (Benjamin Berg), un dels enginyers de Red Hat implicats en el desenvolupament de GNOME, resumida resultats del treball sobre la transició de GNOME a la gestió de sessions utilitzant exclusivament systemd, sense utilitzar el procés gnome-session.

S'ha utilitzat durant força temps per controlar l'inici de sessió al GNOME. systemd-login, que fa un seguiment dels estats de sessió específics de l'usuari, gestiona els identificadors de sessió, s'encarrega de canviar entre sessions actives, coordina entorns de diversos seients, configura polítiques d'accés al dispositiu, proporciona eines per apagar i anar a dormir, etc.

Al mateix temps, part de la funcionalitat relacionada amb la sessió va romandre a les espatlles del procés de sessió de gnome, que s'encarregava de gestionar mitjançant D-Bus, llançar el gestor de pantalla i els components de GNOME i organitzar l'execució automàtica de les aplicacions especificades per l'usuari. . Durant el desenvolupament de GNOME 3.34, les característiques específiques de la sessió de gnome s'empaqueten com a fitxers unitaris per a systemd, executats en mode "systemd —usuari", és a dir. en relació a l'entorn d'un usuari concret, i no a tot el sistema. Els canvis ja s'han implementat a la distribució Fedora 31, que s'espera que es publiqui a finals d'octubre.

L'ús de systemd va permetre organitzar el llançament de controladors a demanda o quan es produeixen certs esdeveniments, així com respondre de manera més sofisticada a la terminació prematura dels processos a causa de fallades i gestionar àmpliament les dependències en iniciar components de GNOME. Com a resultat, podeu reduir el nombre de processos en execució constant i reduir el consum de memòria. Per exemple, XWayland només es pot llançar quan s'intenta executar una aplicació basada en el protocol X11, i els components específics del maquinari només es poden llançar si aquest maquinari està present (per exemple, els gestors de targetes intel·ligents s'iniciaran quan s'insereixi una targeta). i finalitza quan s'elimina).

Han aparegut eines més flexibles per gestionar el llançament de serveis per a l'usuari; per exemple, per desactivar el gestor de claus multimèdia, n'hi haurà prou amb executar "systemctl -user stop gsd-media-keys.target". En cas de problemes, els registres associats a cada controlador es poden veure amb l'ordre journalctl (per exemple, “journalctl —user -u gsd-media-keys.service”), havent habilitat prèviament el registre de depuració al servei (“Environment= G_MESSAGES_DEBUG=tots”). També és possible executar tots els components del GNOME en entorns sandbox aïllats, que estan subjectes a més requisits de seguretat.

Per suavitzar la transició, suport a l'antiga manera d'executar processos es planifica persisteixen durant diversos cicles de desenvolupament de GNOME. A continuació, els desenvolupadors revisaran l'estat de la sessió de gnome i molt probablement (marcat com a "probable") eliminaran les eines per llançar processos i mantenir-ne l'API D-Bus. Aleshores, l'ús de "systemd -user" quedarà relegat a la categoria de funcions obligatòries, la qual cosa pot generar dificultats per als sistemes sense systemd i requerirà la preparació d'una solució alternativa, com abans passava amb systemd-login. Tanmateix, en la seva intervenció a GUADEC 2019, Benjamin Berg va esmentar la intenció de mantenir el suport per a l'antic mètode d'arrencada per a sistemes sense systemd, però aquesta informació està en desacord amb els plans de pàgina del projecte.

Font: opennet.ru

Afegeix comentari