Konfigurasi Niri (Kompositor Wayland)
Arch Linux
Pemasangan
Pasang kompositor niri bersama pengurus sesi uwsm.
bashsudo pacman -S niri uwsm Kenapa uwsm (Universal Wayland Session Manager)?
Penggunaan uwsm sangat disyorkan kerana ia bertindak sebagai pengurus yang menyepadukan sesi Wayland dengan unit systemd. Melaluinya, pemboleh ubah persekitaran (environment variables) diuruskan dengan lebih teratur, dan kitaran hayat aplikasi grafik (seperti memulakan dan menghentikan waybar atau swayidle) dapat ditangani sepenuhnya oleh systemd tanpa memerlukan skrip autostart yang kompleks.
Senarai pakej dan aplikasi:
| Kategori | Saranan | Pilihan saya |
|---|---|---|
| Terminal | alacritty | foot |
| App launcher | fuzzel | rofi |
| Notification daemon | mako | " |
| Desktop bar | waybar | " |
| Wallpaper tool | swaybg | " |
| Idle daemon | swayidle | " |
| Screen locker | swaylock | " |
| Pemapar imej | - | swayimg |
| XDG desktop portal | xdg-desktop-portal-gtk | " |
Memulakan niri
bashuwsm start niri-sessionIntegrasi systemd
mako & waybar
Kedua-dua pakej di atas menyediakan unit systemd secara terus. Maka pengguna boleh menambahnya dengan menjalankan perintah baris berikut:
bashsystemctl --user add-wants graphical-session mako waybarPelaksanaan di atas akan menghasilkan pautan ke direktori ~/.config/systemd/user/graphical-session.target.wants.
swaybg & swayidle
Untuk menambah servis imej latar belakang bagi desktop dengan swaybg dan pengurus idle daemon dengan swayidle, cipta dua fail ini dan tempatkan mereka di dalam direktori ~/.config/systemd/user.
swaybg~/.config/systemd/user/swaybg.service[Unit] PartOf=graphical-session.target After=graphical-session.target Requisite=graphical-session.target [Service] ExecStart=/usr/bin/swaybg -m fill -i "/usr/share/backgrounds/wallpaper.jpg" Restart=on-failure [Install] WantedBy=graphical-session.targetswayidle~/.config/systemd/user/swayidle.service[Unit] PartOf=graphical-session.target After=graphical-session.target Requisite=graphical-session.target [Service] ExecStart=/usr/bin/swayidle -w timeout 600 'swaylock -f' timeout 1200 'niri msg action power-off-monitors' before-sleep 'swaylock -f' Restart=on-failure [Install] WantedBy=graphical-session.target
Muatkan perubahan dengan arahan systemctl --user daemon-reload dan aktifkan kedua-dua unit dengan:
bashsystemctl --user add-wants graphical-session swaybg swayidle Kesemua servis ini akan bermula bersama dengan sesi niri dan berhenti apabila keluar. Pengguna juga boleh memulakan semula servis ini dengan arahan systemctl --user restart <service> selepas menyunting fail konfig yang berkenaan.
Memadam servis
Untuk membuang servis daripada permulaan niri, padamkan pautan simbolik (unlink) servis dari direktori ~/.config/systemd/user/graphical-session.target.wants, dan kemudian muatkan semula daemon dengan menjalankan systemctl --user daemon-reload.
