GNOME για αύξηση της εξάρτησης από το systemd

Ο Adrian Vovk, δημιουργός της ατομικά ενημερωμένης διανομής και εγκατάστασης carbonOS για το GNOME OS, καθώς και ένας από τους προγραμματιστές των systemd-homed και systemd-sysupdate, ανακοίνωσε αλλαγές στο GNOME που θα αυξήσουν την εξάρτηση του έργου από το systemd. Στις επερχόμενες εκδόσεις του GNOME 49 και 50, ορισμένα από τα εγγενή στοιχεία για την εκκίνηση της οθόνης σύνδεσης θα αντικατασταθούν με τυπικές δυνατότητες systemd, κάτι που θα απαιτήσει τη δημιουργία νέων επιπέδων για την παράδοση του GNOME σε διανομές και λειτουργικά συστήματα που δεν χρησιμοποιούν systemd. Σημειώνεται ότι η αφαίρεση του παλιού κώδικα υπέρ των τυπικών δυνατοτήτων systemd θα απλοποιήσει τη συντήρηση, θα απαλλάξει το έργο από λύσεις και θα επιτρέψει την εφαρμογή πρόσθετων λειτουργιών, όπως η αποθήκευση και η επαναφορά συνεδριών.

Από το 2015, το GNOME χρησιμοποιεί τον διαχειριστή συνεδριών systemd-logind, ο οποίος αντικατέστησε το ConsoleKit. Οι διανομές που δεν υποστηρίζουν το systemd χρησιμοποιούν το elogind, μια απλοποιημένη έκδοση του logind ανεξάρτητη από το systemd, ή ενημερώσεις κώδικα που επιστρέφουν υποστήριξη για το ConsoleKit. Τέτοιες λύσεις για εργασία χωρίς το systemd δεν λαμβάνονται υπόψη ούτε δοκιμάζονται κατά την ανάπτυξη του GNOME, επομένως η λειτουργικότητά τους εξαρτάται από τρίτους λάτρεις.

Σε μελλοντικές εκδόσεις του GNOME, ο διαχειριστής οθόνης του GDM θα χρησιμοποιεί επιπλέον την υποδομή userdb που παρέχεται από το systemd, αντικαθιστώντας τη δική του υπηρεσία AccountsService. Το GNOME και το systemd δεν υποστηρίζουν την εκτέλεση περισσότερων από μίας γραφικών συνεδριών για τον ίδιο χρήστη. Ωστόσο, το GDM μπορεί να εμφανίζει πολλαπλές οθόνες σύνδεσης ταυτόχρονα για την εκτέλεση πολλαπλών γραφικών συνεδριών, κάτι που είναι χρήσιμο για απομακρυσμένη πρόσβαση σε επιφάνεια εργασίας και σε συστήματα πολλαπλών θέσεων με πολλαπλές οθόνες και συσκευές εισόδου. Αυτή η λειτουργικότητα υλοποιήθηκε στο GDM πριν από 15 χρόνια ως προσωρινή λύση και δεν είναι συμβατή με τον σύγχρονο dbus-broker, επομένως αποφασίστηκε να μεταβούμε σε μια νέα υλοποίηση που χρησιμοποιεί το systemd-userdb για δυναμική κατανομή λογαριασμών και εκτέλεση κάθε στιγμιότυπου οθόνης σύνδεσης με έναν μοναδικό χρήστη.

Επιπλέον, αποφασίστηκε να αφαιρεθεί από το GNOME η υλοποίηση του δικού του διαχειριστή υπηρεσιών, ο οποίος χρησιμοποιήθηκε στο gnome-session ως εφεδρικός χειριστής για την εκκίνηση υπηρεσιών GNOME σε περιβάλλοντα χωρίς systemd. Ο ενσωματωμένος διαχειριστής υπηρεσιών λειτουργούσε στο επίπεδο της εκκίνησης αρχείων επιφάνειας εργασίας και της παρακολούθησης της εργασίας των υπηρεσιών που σχετίζονται με αυτά. Αυτός ο διαχειριστής υπηρεσιών έχει παραμείνει σχεδόν αμετάβλητος τα τελευταία 17 χρόνια και ο μόνος λόγος που δεν αφαιρέθηκε ήταν η χρήση του στο GDM για την εκκίνηση της οθόνης σύνδεσης. Μετά την αλλαγή του GDM ώστε να χρησιμοποιεί το systemd για την εκκίνηση της οθόνης σύνδεσης, το έργο δεν είχε κανένα λόγο να υποστηρίζει τον δικό του πρωτόγονο διαχειριστή συνεδριών, ο οποίος παρεμβαίνει στην υλοποίηση της δυνατότητας αποθήκευσης και επαναφοράς συνεδριών.

Για να απλοποιηθεί η προσαρμογή των διανομών που δεν χρησιμοποιούν systemd στις αλλαγές, το GNOME 49 θα προσθέσει προσωρινά τη δυνατότητα εκκίνησης του GDM χωρίς userdb χρησιμοποιώντας έναν σταθερό χρήστη gdm-greeter για την πρώτη συνεδρία σύνδεσης, gdm-greeter-2 για τη δεύτερη, κ.λπ. Στο GNOME 50, μια τέτοια δυνατότητα, καθώς και ο ενσωματωμένος διαχειριστής υπηρεσιών, σχεδιάζεται να καταργηθούν, επομένως οι προγραμματιστές διανομών χωρίς systemd πρέπει επειγόντως να αναπτύξουν επίπεδα για να αντικαταστήσουν το systemd-userdb (io.systemd.Multiplexer, userdb Varlink API) και τη διεργασία αρχηγού συνεδρίας που αλληλεπιδρά με τον διαχειριστή υπηρεσιών που χρησιμοποιείται στη διανομή.

Θα χρειαστεί επίσης ένα αντίγραφο του εκτελέσιμου αρχείου gnome-session-ctl, το οποίο συντονίζει τις αλληλεπιδράσεις μεταξύ της διαδικασίας εκκίνησης της συνεδρίας, της υπηρεσίας D-Bus και του systemd. Ένα αντίγραφο του gnome-session-ctl θα πρέπει να αναπτυχθεί πριν από την κυκλοφορία του GNOME 49.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο