GNOME-ը հարմարեցված է systemd-ի միջոցով կառավարելու համար

Բենջամին Բերգ (Բենջամին Բերգ), Red Hat-ի ինժեներներից մեկը, որը ներգրավված է GNOME-ի մշակման մեջ, ընդհանրացված աշխատանքի արդյունքները GNOME-ը սեսիաների կառավարման անցնելու վերաբերյալ բացառապես systemd-ի միջոցով՝ առանց gnome-session գործընթացի օգտագործման:

Այն բավականին երկար ժամանակ օգտագործվել է GNOME մուտքը վերահսկելու համար: systemd-login, որը հետևում է օգտատիրոջ հատուկ նիստերի վիճակներին, կառավարում է նիստերի նույնացուցիչները, պատասխանատու է ակտիվ նիստերի միջև անցման համար, կոորդինացնում է բազմաբնակարան միջավայրերը, կարգավորում է սարքի մուտքի քաղաքականությունը, տրամադրում է գործիքներ՝ անջատելու և քնելու համար և այլն:

Միևնույն ժամանակ, նիստի հետ կապված ֆունկցիոնալության մի մասը մնաց gnome-session գործընթացի ուսերին, որը պատասխանատու էր D-Bus-ի միջոցով կառավարելու, ցուցադրման մենեջերի և GNOME բաղադրիչների գործարկման և օգտագործողի կողմից նշված հավելվածների ինքնաաշխատանքի կազմակերպման համար: . GNOME 3.34-ի մշակման ընթացքում gnome-sesion-ի հատուկ առանձնահատկությունները փաթեթավորվում են որպես միավոր ֆայլեր 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 վիճակը և, ամենայն հավանականությամբ, (նշված որպես «հավանական») կհեռացնեն գործընթացները գործարկելու և D-Bus API-ն պահպանելու գործիքները դրանից: Այնուհետև «systemd-user»-ի օգտագործումը կտեղափոխվի պարտադիր գործառույթների կատեգորիա, որը կարող է դժվարություններ ստեղծել համակարգ չունեցող համակարգերի համար և կպահանջի այլընտրանքային լուծման պատրաստում, ինչպես նախկինում էր: systemd-login. Այնուամենայնիվ, GUADEC 2019-ի իր ելույթում Բենջամին Բերգը նշեց, որ մտադիր է պահպանել հին գործարկման մեթոդի աջակցությունը առանց համակարգված համակարգերի համար, սակայն այս տեղեկատվությունը հակասում է ծրագրերին: նախագծի էջ.

Source: opennet.ru

Добавить комментарий