GNOME diadaptasi untuk dikelola melalui systemd

Benyamin Berg (Benyamin Berg), salah satu insinyur Red Hat yang terlibat dalam pengembangan GNOME, diringkas hasil pekerjaan transisi GNOME ke manajemen sesi secara eksklusif menggunakan systemd, tanpa menggunakan proses sesi gnome.

Ini telah digunakan cukup lama untuk mengontrol login ke GNOME. systemd-login, yang melacak status sesi spesifik pengguna, mengelola pengidentifikasi sesi, bertanggung jawab untuk beralih di antara sesi aktif, mengoordinasikan lingkungan multi-kursi, mengonfigurasi kebijakan akses perangkat, menyediakan alat untuk mematikan dan beralih ke mode tidur, dll. .

Pada saat yang sama, sebagian dari fungsionalitas terkait sesi tetap berada di pundak proses sesi gnome, yang bertanggung jawab untuk mengelola melalui D-Bus, meluncurkan manajer tampilan dan komponen GNOME, dan mengatur autorun aplikasi yang ditentukan pengguna. . Selama pengembangan GNOME 3.34, fitur khusus sesi gnome dikemas sebagai file unit untuk systemd, dieksekusi dalam mode “systemd —user”, yaitu dalam kaitannya dengan lingkungan pengguna tertentu, dan bukan keseluruhan sistem. Perubahan tersebut telah diterapkan pada distribusi Fedora 31 yang diperkirakan akan dirilis pada akhir Oktober.

Penggunaan systemd memungkinkan untuk mengatur peluncuran penangan sesuai permintaan atau ketika peristiwa tertentu terjadi, serta merespons penghentian dini proses karena kegagalan dengan lebih canggih dan menangani ketergantungan secara ekstensif saat memulai komponen GNOME. Hasilnya, Anda dapat mengurangi jumlah proses yang terus berjalan dan mengurangi konsumsi memori. Misalnya, XWayland sekarang hanya dapat diluncurkan ketika mencoba menjalankan aplikasi berdasarkan protokol X11, dan komponen khusus perangkat keras hanya dapat diluncurkan jika perangkat keras tersebut ada (misalnya, penangan untuk kartu pintar akan dimulai ketika kartu dimasukkan. dan berhenti ketika dihapus).

Alat yang lebih fleksibel untuk mengelola peluncuran layanan telah muncul bagi pengguna, misalnya, untuk menonaktifkan pengendali kunci multimedia, cukup dengan menjalankan “systemctl -user stop gsd-media-keys.target”. Jika terjadi masalah, log yang terkait dengan masing-masing penangan dapat dilihat dengan perintah journalctl (misalnya, “journalctl —user -u gsd-media-keys.service”), setelah sebelumnya mengaktifkan debug logging di layanan (“Lingkungan= G_MESSAGES_DEBUG=semua”). Dimungkinkan juga untuk menjalankan semua komponen GNOME di lingkungan sandbox terisolasi, yang memerlukan peningkatan persyaratan keamanan.

Untuk memperlancar transisi, dukungan untuk cara lama dalam menjalankan proses sudah direncanakan bertahan selama beberapa siklus pengembangan GNOME. Selanjutnya, pengembang akan meninjau status sesi gnome dan kemungkinan besar (ditandai sebagai "kemungkinan") menghapus alat untuk meluncurkan proses dan memelihara D-Bus API darinya. Kemudian penggunaan "systemd -user" akan diturunkan ke kategori fungsi wajib, yang dapat menimbulkan kesulitan bagi sistem tanpa systemd dan memerlukan persiapan solusi alternatif, seperti yang pernah terjadi pada kasus systemd-login. Namun, dalam pidatonya di GUADEC 2019, Benjamin Berg menyebutkan niatnya untuk mempertahankan dukungan terhadap metode startup lama untuk sistem tanpa systemd, namun informasi ini bertentangan dengan rencana untuk halaman proyek.

Sumber: opennet.ru

Tambah komentar