Adrian Vovk, creatore della distribuzione carbonOS con aggiornamenti atomici e dell'installer per GNOME OS, nonché uno degli sviluppatori di systemd-homed e systemd-sysupdate, ha annunciato modifiche a GNOME che aumentaranno la dipendenza del progetto da systemd. Nelle prossime versioni di GNOME 49 e 50 alcuni componenti proprietari per l'avvio della schermata di accesso saranno sostituiti con le funzionalità standard di systemd, il che richiederà di creare nuovi strati per fornire GNOME in distribuzioni e sistemi operativi che non utilizzano systemd. Si osserva che la rimozione del vecchio codice a favore delle funzionalità standard di systemd semplificherà la manutenzione, libererà il progetto da soluzioni temporanee e permetterà di implementare funzionalità aggiuntive, come il salvataggio e il ripristino delle sessioni.
Dal 2015 GNOME utilizza il gestore di sessioni systemd-logind, che ha sostituito ConsoleKit. Nelle distribuzioni che non supportano systemd, viene utilizzato elogind, una versione ridotta e indipendente di logind, oppure patch che ripristinano il supporto per ConsoleKit. Quando si sviluppa GNOME, tali soluzioni alternative per lavorare senza systemd non vengono considerate né testate, quindi la loro funzionalità dipende dagli appassionati di terze parti.
Nelle future versioni di GNOME, il gestore di accesso GDM utilizzerà inoltre l'infrastruttura userdb fornita da systemd, che sostituirà il servizio AccountsService. GNOME e systemd di per sé non supportano l'avvio di più di una sessione grafica per lo stesso utente. Tuttavia, GDM può visualizzare simultaneamente più schermate di accesso per avviare più sessioni grafiche, cosa che è applicabile per l'accesso remoto al desktop e su sistemi multiseat con più monitor e dispositivi di input. Questa funzionalità in GDM è stata implementata 15 anni fa come soluzione temporanea e non è compatibile con l'attuale dbus-broker, pertanto è stato deciso di passare a una nuova implementazione che utilizza systemd-userdb per l'allocazione dinamica degli account e l'avvio di ogni istanza della schermata di accesso sotto un utente unico.
Inoltre, è stato deciso di rimuovere da GNOME l'implementazione del proprio gestore di servizi, utilizzato in gnome-session come gestore di backup per l'avvio dei servizi GNOME in ambienti senza systemd. Il gestore di servizi integrato funzionava a livello di avvio dei file desktop e monitoraggio dei servizi correlati. Questo gestore di servizi non è quasi mai cambiato negli ultimi 17 anni e l'unico motivo per cui non è stato rimosso era il suo utilizzo in GDM per avviare la schermata di accesso al sistema. Dopo aver trasferito GDM all'uso di systemd per avviare la schermata di accesso al sistema, il progetto non ha più motivi per mantenere il proprio primitivo gestore di sessioni, che ostacola l'implementazione della possibilità di salvataggio e ripristino delle sessioni.
Per semplificare l'adattamento ai cambiamenti delle distribuzioni che non utilizzano systemd, in GNOME 49 sarà temporaneamente aggiunta la possibilità di avviare GDM senza userdb utilizzando un utente fisso gdm-greeter per la prima sessione di accesso, gdm-greeter-2 per la seconda e così via. In GNOME 50 tale possibilità, così come il gestore di servizi integrato, è previsto venga rimossa, quindi gli sviluppatori di distribuzioni senza systemd devono urgentemente sviluppare strati per sostituire systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) e il processo di avvio della sessione (session leader), interagendo con il gestore di servizi utilizzato nella distribuzione.
Sarà inoltre necessaria la sostituzione del file eseguibile gnome-session-ctl, che coordina l'interazione tra il processo di avvio della sessione, il servizio D-Bus e systemd. La sostituzione di gnome-session-ctl deve essere sviluppata prima del rilascio di GNOME 49.
Fonte: opennet.ru
