Arch Linux

Pemasangan

Pasang kompositor niri bersama pengurus sesi uwsm.

bash
sudo 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:

KategoriSarananPilihan saya
Terminalalacrittyfoot
App launcherfuzzelrofi
Notification daemonmako"
Desktop barwaybar"
Wallpaper toolswaybg"
Idle daemonswayidle"
Screen lockerswaylock"
Pemapar imej-swayimg
XDG desktop portalxdg-desktop-portal-gtk"

Memulakan niri

bash
uwsm start niri-session

Integrasi systemd

mako & waybar

Kedua-dua pakej di atas menyediakan unit systemd secara terus. Maka pengguna boleh menambahnya dengan menjalankan perintah baris berikut:

bash
systemctl --user add-wants graphical-session mako waybar

Pelaksanaan 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.

  1. 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.target
  2. swayidle

    ~/.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:

bash
systemctl --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.


Kali terakhir dikemaskini:

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux dan perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba (yang patutlah dipendam buat selama-lamanya): Menyanyi dan melukis.

Sumber dari Wallpaper Cave.