GNOME жүйесі systemd арқылы басқаруға бейімделген

Бенджамин Берг (Бенджамин Берг), GNOME әзірлеуге қатысқан Red Hat инженерлерінің бірі, жалпыланған GNOME сеансын басқаруға gnome-сеанс процесін пайдаланбай тек systemd көмегімен көшу бойынша жұмыс нәтижелері.

Ол GNOME жүйесіне кіруді басқару үшін біраз уақыттан бері қолданылған. systemd-логин, ол пайдаланушыға арналған сеанс күйлерін бақылайды, сеанс идентификаторларын басқарады, белсенді сеанстар арасында ауысуға жауап береді, көп орындық орталарды үйлестіреді, құрылғыға кіру саясаттарын конфигурациялайды, өшіру және ұйқы режиміне өту үшін құралдарды қамтамасыз етеді және т.б. .

Сонымен бірге, сеансқа қатысты функциялардың бір бөлігі D-Bus арқылы басқаруға, дисплей менеджерін және GNOME компоненттерін іске қосуға және пайдаланушы белгілеген қолданбаларды автоматты түрде іске қосуды ұйымдастыруға жауап беретін gnome-сеанс процесінің иығында қалды. . GNOME 3.34 әзірлеу кезінде gnome сеансына тән мүмкіндіктер «жүйе — пайдаланушы» режимінде орындалатын systemd үшін бірлік файлдары ретінде пакеттелген, яғни. бүкіл жүйеге емес, белгілі бір пайдаланушының ортасына қатысты. Өзгерістер қазан айының соңында шығарылатын Fedora 31 дистрибутивінде қазірдің өзінде енгізілді.

Systemd пайдалану сұраныс бойынша немесе белгілі бір оқиғалар орын алған кезде өңдегіштерді іске қосуды ұйымдастыруға, сондай-ақ сәтсіздіктерге байланысты процестердің мерзімінен бұрын тоқтатылуына күрделірек жауап беруге және GNOME компоненттерін іске қосу кезінде тәуелділіктерді кеңінен өңдеуге мүмкіндік берді. Нәтижесінде сіз үнемі жұмыс істейтін процестердің санын азайтып, жадты тұтынуды азайта аласыз. Мысалы, XWayland енді X11 протоколына негізделген қолданбаны іске қосу әрекеті кезінде ғана іске қосылуы мүмкін және аппараттық құралға қатысты құрамдастарды мұндай жабдық бар болса ғана іске қосуға болады (мысалы, смарт-карталарға арналған өңдеушілер карта салынған кезде іске қосылады. және жойылған кезде тоқтатылады).

Пайдаланушы үшін қызметтерді іске қосуды басқарудың икемді құралдары пайда болды, мысалы, мультимедиялық перне өңдеушісін өшіру үшін «systemctl -user stop gsd-media-keys.target» орындау жеткілікті болады. Мәселелер туындаған жағдайда, әрбір өңдеушімен байланысты журналдарды бұрын қызметте жөндеу журналын қосу арқылы (мысалы, «journalctl —user -u gsd-media-keys.service») journalctl пәрменімен көруге болады («Орта = G_MESSAGES_DEBUG=барлығы”). Сондай-ақ, қауіпсіздік талаптарының жоғарылауына жататын оқшауланған құм жәшігі орталарында барлық GNOME құрамдастарын іске қосуға болады.

Өтуді тегістеу үшін процестерді орындаудың ескі әдісін қолдау жоспарланған бірнеше GNOME әзірлеу циклдерінде сақталады. Әрі қарай, әзірлеушілер gnome-сеанс күйін қарастырады және ең алдымен («ықтимал» деп белгіленген) процестерді іске қосу және одан D-Bus API қолдау құралдарын алып тастайды. Содан кейін «systemd -user» пайдалану міндетті функциялар санатына ауыстырылады, ол жүйесі жоқ жүйелер үшін қиындықтар тудыруы мүмкін және бұрын болған жағдайдағыдай балама шешімді дайындауды талап етеді. systemd-логин. Дегенмен, GUADEC 2019-те сөйлеген сөзінде Бенджамин Берг жүйесі жоқ жүйелер үшін ескі іске қосу әдісіне қолдау көрсету ниетін атап өтті, бірақ бұл ақпарат жоспарларға қайшы келеді. жоба беті.

Ақпарат көзі: opennet.ru

пікір қалдыру