Το GNOME προσαρμόστηκε για διαχείριση συστήματος

Μπέντζαμιν Μπεργκ (Μπέντζαμιν Μπεργκ), ένας από τους μηχανικούς της Red Hat που συμμετείχαν στην ανάπτυξη του GNOME, συνοψίζονται τα αποτελέσματα της εργασίας για τη μεταφορά του GNOME στη διαχείριση συνεδριών αποκλειστικά μέσω systemd, χωρίς τη χρήση της διαδικασίας gnome-session.

Η διαχείριση σύνδεσης GNOME χρησιμοποιείται εδώ και αρκετό καιρό. systemd-login, που παρακολουθεί τις καταστάσεις συνεδρίας σε σχέση με τον χρήστη, διαχειρίζεται τα αναγνωριστικά περιόδων σύνδεσης, είναι υπεύθυνη για εναλλαγή μεταξύ ενεργών περιόδων σύνδεσης, συντονίζει περιβάλλοντα πολλών χρηστών (Πολλαπλών θέσεων), διαμορφώνει πολιτικές πρόσβασης στη συσκευή, παρέχει μέσα τερματισμού λειτουργίας και μετάβασης σε αναστολή λειτουργίας κ.λπ. .

Ταυτόχρονα, μέρος της λειτουργικότητας που σχετίζεται με τη συνεδρία παρέμεινε στους ώμους της διαδικασίας gnome-session, η οποία ήταν υπεύθυνη για τη διαχείριση μέσω D-Bus, την εκκίνηση του διαχειριστή οθόνης και των στοιχείων GNOME, την οργάνωση της αυτόματης εκτέλεσης εφαρμογών που καθορίζονται από τον χρήστη. Κατά τη διάρκεια της ανάπτυξης του GNOME 3.34, οι λειτουργίες ειδικά για τη σύνοδο gnome συσκευάστηκαν ως αρχεία μονάδας ώστε το systemd να εκτελείται σε λειτουργία "systemd --user", π.χ. σε σχέση με το περιβάλλον ενός συγκεκριμένου χρήστη και όχι ολόκληρου του συστήματος. Οι αλλαγές έχουν ήδη εφαρμοστεί στη διανομή Fedora 31, η οποία αναμένεται να κυκλοφορήσει στα τέλη Οκτωβρίου.

Η χρήση του systemd κατέστησε δυνατή την οργάνωση της εκκίνησης χειριστών κατ' απαίτηση ή με την εμφάνιση ορισμένων γεγονότων, καθώς και πιο εξελιγμένη απόκριση σε πρόωρο τερματισμό διεργασιών λόγω αστοχιών και εκτεταμένο χειρισμό εξαρτήσεων κατά την εκκίνηση στοιχείων του GNOME. Ως αποτέλεσμα, μπορείτε να μειώσετε τον αριθμό των διαδικασιών που εκτελούνται συνεχώς και να μειώσετε την κατανάλωση μνήμης. Για παράδειγμα, το XWayland μπορεί πλέον να εκκινηθεί μόνο όταν προσπαθείτε να εκτελέσετε μια εφαρμογή που βασίζεται στο πρωτόκολλο X11 και στοιχεία ειδικά για το υλικό, μόνο με τέτοιο υλικό (για παράδειγμα, οι χειριστές για έξυπνες κάρτες θα εκκινηθούν όταν εισάγεται μια κάρτα και τερματίζεται όταν αφαιρείται).

Έχουν εμφανιστεί για τον χρήστη πιο ευέλικτα εργαλεία για τη διαχείριση της εκκίνησης υπηρεσιών, για παράδειγμα, για να απενεργοποιήσετε τον χειριστή κλειδιού πολυμέσων, θα αρκεί να εκτελέσετε το "systemctl –user stop gsd-media-keys.target". Σε περίπτωση προβλημάτων, τα αρχεία καταγραφής που σχετίζονται με κάθε πρόγραμμα χειρισμού μπορούν να προβληθούν με την εντολή journalctl (για παράδειγμα, "journalctl -user -u gsd-media-keys.service"), αφού ενεργοποιηθεί η καταγραφή εντοπισμού σφαλμάτων στην υπηρεσία ("Environment=G_MESSAGES_DEBUG =όλα"). Κατέστη επίσης δυνατή η εκτέλεση όλων των στοιχείων του GNOME σε απομονωμένα περιβάλλοντα sandbox, τα οποία υπόκεινται σε αυξημένες απαιτήσεις ασφαλείας.

Για να εξομαλύνετε τη μετάβαση, υποστηρίξτε τον παλιό τρόπο εκτέλεσης των διαδικασιών προγραμματίζεται αποθήκευση σε πολλούς κύκλους ανάπτυξης GNOME. Στη συνέχεια, οι προγραμματιστές θα επανεξετάσουν την κατάσταση του gnome-session και πιθανότατα (με την επισήμανση "πιθανό") θα αφαιρέσουν τους εκτοξευτές διεργασιών και τους συντηρητές του API D-Bus από αυτό. Στη συνέχεια, η χρήση του "systemd --user" θα μεταφερθεί στην κατηγορία των υποχρεωτικών λειτουργιών, οι οποίες μπορεί να δημιουργήσουν δυσκολίες σε συστήματα χωρίς systemd και να απαιτήσουν την προετοιμασία μιας εναλλακτικής λύσης, όπως γινόταν κάποτε με systemd-login. Ωστόσο, στην κεντρική ομιλία του για το GUADEC 2019, ο Benjamin Berg ανέφερε την πρόθεσή του να διατηρήσει την υποστήριξη για την παλιά μέθοδο εκκίνησης για συστήματα χωρίς σύστημα, αλλά αυτές οι πληροφορίες έρχονται σε αντίθεση με τα σχέδια για σελίδα του έργου.

Πηγή: opennet.ru

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