Gnome được điều chỉnh để được quản lý thông qua systemd

Benjamin Berg (Benjamin Berg), một trong những kỹ sư của Red Hat tham gia phát triển Gnome, tóm tắt kết quả của công việc chuyển đổi Gnome sang quản lý phiên hoàn toàn bằng systemd mà không sử dụng quy trình phiên gnome.

Nó đã được sử dụng khá lâu để kiểm soát việc đăng nhập vào Gnome. đăng nhập hệ thống, theo dõi trạng thái phiên dành riêng cho người dùng, quản lý số nhận dạng phiên, chịu trách nhiệm chuyển đổi giữa các phiên hoạt động, điều phối môi trường nhiều chỗ ngồi, định cấu hình chính sách truy cập thiết bị, cung cấp công cụ để tắt và chuyển sang chế độ ngủ, v.v.

Đồng thời, một phần chức năng liên quan đến phiên vẫn được đảm nhiệm bởi quy trình gnome-session, quy trình này chịu trách nhiệm quản lý thông qua D-Bus, khởi chạy trình quản lý hiển thị và các thành phần Gnome, đồng thời tổ chức việc tự động chạy các ứng dụng do người dùng chỉ định. . Trong quá trình phát triển Gnome 3.34, các tính năng dành riêng cho phiên gnome được đóng gói dưới dạng tệp đơn vị cho systemd, được thực thi ở chế độ “systemd —user”, tức là. liên quan đến môi trường của một người dùng cụ thể chứ không phải toàn bộ hệ thống. Những thay đổi đã được thực hiện trong bản phân phối Fedora 31, dự kiến ​​sẽ được phát hành vào cuối tháng XNUMX.

Việc sử dụng systemd giúp tổ chức khởi chạy các trình xử lý theo yêu cầu hoặc khi một số sự kiện nhất định xảy ra, cũng như phản ứng tinh vi hơn với việc chấm dứt sớm các quy trình do lỗi và xử lý rộng rãi các phần phụ thuộc khi khởi động các thành phần Gnome. Nhờ đó, bạn có thể giảm số lượng tiến trình chạy liên tục và giảm mức tiêu thụ bộ nhớ. Ví dụ: XWayland hiện chỉ có thể được khởi chạy khi cố gắng chạy một ứng dụng dựa trên giao thức X11 và các thành phần dành riêng cho phần cứng chỉ có thể được khởi chạy nếu có phần cứng đó (ví dụ: trình xử lý thẻ thông minh sẽ bắt đầu khi thẻ được lắp vào). và chấm dứt khi nó bị xóa).

Các công cụ linh hoạt hơn để quản lý việc khởi chạy dịch vụ đã xuất hiện cho người dùng, ví dụ: để tắt trình xử lý khóa đa phương tiện, chỉ cần thực thi “systemctl -user stop gsd-media-keys.target”. Trong trường hợp có sự cố, nhật ký được liên kết với mỗi trình xử lý có thể được xem bằng lệnh tạp chí (ví dụ: “journalctl —user -u gsd-media-keys.service”), trước đó đã bật tính năng ghi nhật ký gỡ lỗi trong dịch vụ (“Môi trường= G_MESSAGES_DEBUG=tất cả”). Cũng có thể chạy tất cả các thành phần Gnome trong môi trường hộp cát biệt lập, môi trường này có yêu cầu bảo mật cao hơn.

Để làm trơn tru quá trình chuyển đổi, hỗ trợ cho cách chạy quy trình cũ đã lên kế hoạch tồn tại qua nhiều chu kỳ phát triển Gnome. Tiếp theo, các nhà phát triển sẽ xem xét trạng thái phiên gnome và rất có thể (được đánh dấu là “có thể”) sẽ loại bỏ các công cụ để khởi chạy quy trình và duy trì API D-Bus khỏi trạng thái đó. Sau đó, việc sử dụng "systemd -user" sẽ được xếp vào danh mục chức năng bắt buộc, điều này có thể gây khó khăn cho các hệ thống không có systemd và sẽ yêu cầu chuẩn bị một giải pháp thay thế, như trường hợp đã từng xảy ra với đăng nhập hệ thống. Tuy nhiên, trong bài phát biểu tại GUADEC 2019, Benjamin Berg đã đề cập đến ý định duy trì hỗ trợ phương thức khởi động cũ cho các hệ thống không có systemd, nhưng thông tin này lại mâu thuẫn với kế hoạch trang dự án.

Nguồn: opennet.ru

Thêm một lời nhận xét