GNOME è adattato per essere gestito tramite systemd

Benjamin Berg (Beniamino Berg), uno degli ingegneri Red Hat coinvolti nello sviluppo di GNOME, compilato risultati del lavoro sulla transizione da GNOME alla gestione delle sessioni utilizzando esclusivamente systemd, senza utilizzare il processo gnome-session.

È stato utilizzato per molto tempo per controllare l'accesso a GNOME. systemd-login, che tiene traccia degli stati di sessione specifici dell'utente, gestisce gli identificatori di sessione, è responsabile del passaggio tra sessioni attive, coordina ambienti con più postazioni, configura policy di accesso ai dispositivi, fornisce strumenti per lo spegnimento e la sospensione, ecc.

Allo stesso tempo, parte delle funzionalità legate alla sessione sono rimaste sulle spalle del processo gnome-session, che era responsabile della gestione tramite D-Bus, dell'avvio del display manager e dei componenti GNOME e dell'organizzazione dell'esecuzione automatica delle applicazioni specificate dall'utente. . Durante lo sviluppo di GNOME 3.34, le funzionalità specifiche della sessione di gnome vengono impacchettate come file unitari per systemd, eseguiti in modalità "systemd —user", ovvero in relazione all'ambiente di un utente specifico e non all'intero sistema. Le modifiche sono già state implementate nella distribuzione Fedora 31, il cui rilascio è previsto per la fine di ottobre.

L'uso di systemd ha permesso di organizzare il lancio dei gestori su richiesta o quando si verificano determinati eventi, nonché di rispondere in modo più sofisticato alla terminazione prematura dei processi a causa di errori e di gestire ampiamente le dipendenze all'avvio dei componenti GNOME. Di conseguenza, è possibile ridurre il numero di processi costantemente in esecuzione e ridurre il consumo di memoria. Ad esempio, XWayland ora può essere avviato solo quando si tenta di eseguire un'applicazione basata sul protocollo X11 e i componenti specifici dell'hardware possono essere avviati solo se tale hardware è presente (ad esempio, i gestori delle smart card verranno avviati quando viene inserita una scheda e terminare quando viene rimosso).

Sono apparsi per l'utente strumenti più flessibili per gestire l'avvio dei servizi, ad esempio per disabilitare il gestore delle chiavi multimediali sarà sufficiente eseguire “systemctl -user stop gsd-media-keys.target”. In caso di problemi, i log associati a ciascun gestore possono essere visualizzati con il comando journalctl (ad esempio “journalctl —user -u gsd-media-keys.service”), avendo precedentemente abilitato il logging di debug nel servizio (“Environment= G_MESSAGES_DEBUG=tutti”). È anche possibile eseguire tutti i componenti GNOME in ambienti sandbox isolati, soggetti a maggiori requisiti di sicurezza.

Per facilitare la transizione, supporto per il vecchio modo di eseguire i processi pianificato persistere su più cicli di sviluppo GNOME. Successivamente, gli sviluppatori esamineranno lo stato della sessione di gnome e molto probabilmente (contrassegnati come "probabile") rimuoveranno da esso gli strumenti per avviare processi e mantenere l'API D-Bus. Quindi l'uso di "systemd -user" sarà relegato alla categoria delle funzioni obbligatorie, che possono creare difficoltà per i sistemi senza systemd e richiederanno la preparazione di una soluzione alternativa, come avveniva una volta con systemd-login. Tuttavia, nel suo discorso al GUADEC 2019, Benjamin Berg ha menzionato l'intenzione di mantenere il supporto per il vecchio metodo di avvio per i sistemi senza systemd, ma questa informazione è in contrasto con i piani per pagina del progetto.

Fonte: opennet.ru

Aggiungi un commento