Bài viết

VNLFVNLF Social
?
Đăng nhậpĐể dùng đầy đủ tính năng
Bảng tinKhám pháTin nhắnVoice
VNLF trên các mạng xã hội khác
Cài đặtTrợ giúpĐăng nhập
Bảng tinKhám pháTin nhắnVoice
Article5 phút đọc

Hướng dẫn cài đặt Linux ( distro CachyOS) + Niri WM + Noctalia v5 Shell phần 2.

Bước 1: Khởi tạo file cấu hình Mở terminal và chạy các lệnh sau để tạo thư mục và copy file cấu hình mặc định: mkdir -p ~/.config/niri cp /usr/share/doc/niri/default-config.kdl ~/.config/niri/config.kdl Sau đó khởi động

ArchonDvnlf logo (1)@ArchonD

Bước 1: Khởi tạo file cấu hình

Mở terminal và chạy các lệnh sau để tạo thư mục và copy file cấu hình mặc định:

mkdir -p ~/.config/niri
cp /usr/share/doc/niri/default-config.kdl ~/.config/niri/config.kdl

Sau đó khởi động lại máy tính:

reboot

(Lưu ý: Sau khi reboot, nhớ chọn Niri ở góc màn hình giao diện đăng nhập)

Bước 2: Cài đặt Noctalia Shell

  1. Nhấn Windows + T để mở terminal (nếu không được thì thử Windows + Enter).

  2. Chạy lệnh cài đặt Noctalia shell:

sudo pacman -S yay
yay -S noctalia playerctl brightnessctl
  1. Copy thư mục cấu hình:

cp -rf /etc/skel/.config/niri ~/.config/
  1. Thoát Niri bằng lệnh:

niri msg action quit

Bước 3: Cài đặt Keyd (Ánh xạ phím)

  1. Nhấn Windows + Enter để mở terminal.

  2. Cài đặt phần mềm Keyd:

yay -S keyd
  1. Mở file cấu hình của Keyd bằng lệnh:

sudo nano /etc/keyd/default.conf
  1. Sao chép và dán nguyên đoạn nội dung sau vào file:

[ids]
*

[main]
leftmeta = overload(meta, macro(leftmeta+d))
  1. Nhấn Ctrl + O để lưu, sau đó nhấn Ctrl + X để thoát.

  2. Kích hoạt service Keyd:

sudo systemctl enable --now keyd

Bước 4: Tùy chỉnh Keybinds cho Niri

  1. Mở file cấu hình phím tắt bằng lệnh:

sudo nano ~/.config/niri/cfg/keybinds.kdl
  1. Nhấn Alt + T để xóa toàn bộ nội dung hiện có trong file.

  2. Thay thế bằng toàn bộ đoạn mã cấu hình dưới đây:

binds {

    // ────────────── Keybindings ──────────────
    // https://github.com/YaLTeR/niri/wiki/Configuration:-Key-Bindings

    // ─── noctalia-shell keybinds ───
    // https://docs.noctalia.dev/getting-started/keybinds/

    Mod+Slash                            { show-hotkey-overlay; }

    // ─── Applications ───
    Mod+T                               hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; }
    Mod+D                               hotkey-overlay-title="Open App Launcher: Noctalia" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; }
    Mod+B                               hotkey-overlay-title="Open Browser: firefox" { spawn "firefox"; }
    Mod+ALT+L                           hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; }
    Mod+Shift+Q                         hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; }
    XF86Calculator                      hotkey-overlay-title="Open Calculator" { spawn "gnome-calculator"; }

    // Please choose your own file manager.
    Mod+E                               hotkey-overlay-title="File Manager: Nautilus" { spawn "nautilus"; }

    // ─── Media Controls ───
    XF86AudioRaiseVolume                allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume increase"; }
    XF86AudioLowerVolume                allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume decrease"; }
    XF86AudioMute                       allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteOutput"; }
    XF86AudioMicMute                    allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteInput"; }
    XF86AudioNext                       allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media next"; }
    XF86AudioPrev                       allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media previous"; }
    XF86AudioPlay                       allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
    XF86AudioPause                      allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }

    // ─── Brightness Controls ───
    XF86MonBrightnessUp                 allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness increase"; }
    XF86MonBrightnessDown               allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; }

    // ─── Window Movement and Focus ───
    Mod+Q                               { close-window; }

    Mod+Left                            { focus-column-left; }
    Mod+H                               { focus-column-left; }
    Mod+Right                           { focus-column-right; }
    Mod+L                               { focus-column-right; }
    Mod+Up                              { focus-window-up; }
    Mod+K                               { focus-window-up; }
    Mod+Down                            { focus-window-down; }
    Mod+J                               { focus-window-down; }

    Mod+CTRL+Left                       { move-column-left; }
    Mod+CTRL+H                          { move-column-left; }
    Mod+CTRL+Right                      { move-column-right; }
    Mod+CTRL+L                          { move-column-right; }
    Mod+CTRL+UP                         { move-window-up; }
    Mod+CTRL+K                          { move-window-up; }
    Mod+CTRL+Down                       { move-window-down; }
    Mod+CTRL+J                          { move-window-down; }

    Mod+Home                            { focus-column-first; }
    Mod+End                             { focus-column-last; }
    Mod+CTRL+Home                       { move-column-to-first; }
    Mod+CTRL+End                        { move-column-to-last; }

    Mod+Shift+Left                      { focus-monitor-left; }
    Mod+Shift+Right                     { focus-monitor-right; }
    Mod+Shift+UP                        { focus-monitor-up; }
    Mod+Shift+Down                      { focus-monitor-down; }

    Mod+Shift+CTRL+Left                 { move-column-to-monitor-left; }
    Mod+Shift+CTRL+Right                { move-column-to-monitor-right; }
    Mod+Shift+CTRL+UP                   { move-column-to-monitor-up; }
    Mod+Shift+CTRL+Down                 { move-column-to-monitor-down; }

    // ─── Workspace Switching ───
    Mod+WheelScrollDown                 cooldown-ms=150 { focus-workspace-down; }
    Mod+WheelScrollUp                   cooldown-ms=150 { focus-workspace-up; }
    Mod+CTRL+WheelScrollDown            cooldown-ms=150 { move-column-to-workspace-down; }
    Mod+CTRL+WheelScrollUp              cooldown-ms=150 { move-column-to-workspace-up; }

    Mod+WheelScrollRight                { focus-column-right; }
    Mod+WheelScrollLeft                 { focus-column-left; }
    Mod+CTRL+WheelScrollRight           { move-column-right; }
    Mod+CTRL+WheelScrollLeft            { move-column-left; }

    Mod+Shift+WheelScrollDown           { focus-column-right; }
    Mod+Shift+WheelScrollUp             { focus-column-left; }
    Mod+CTRL+Shift+WheelScrollDown      { move-column-right; }
    Mod+CTRL+Shift+WheelScrollUp        { move-column-left; }

    Mod+1                               { focus-workspace 1; }
    Mod+2                               { focus-workspace 2; }
    Mod+3                               { focus-workspace 3; }
    Mod+4                               { focus-workspace 4; }
    Mod+5                               { focus-workspace 5; }
    Mod+6                               { focus-workspace 6; }
    Mod+7                               { focus-workspace 7; }
    Mod+8                               { focus-workspace 8; }
    Mod+9                               { focus-workspace 9; }

    Mod+CTRL+1                          { move-column-to-workspace 1; }
    Mod+CTRL+2                          { move-column-to-workspace 2; }
    Mod+CTRL+3                          { move-column-to-workspace 3; }
    Mod+CTRL+4                          { move-column-to-workspace 4; }
    Mod+CTRL+5                          { move-column-to-workspace 5; }
    Mod+CTRL+6                          { move-column-to-workspace 6; }
    Mod+CTRL+7                          { move-column-to-workspace 7; }
    Mod+CTRL+8                          { move-column-to-workspace 8; }
    Mod+CTRL+9                          { move-column-to-workspace 9; }

    Mod+TAB                             { focus-workspace-previous; }

    // ─── Layout Controls ───
    Mod+CTRL+F                          { expand-column-to-available-width; }
    Mod+C                               { center-column; }
    Mod+CTRL+C                          { center-visible-columns; }
    Mod+Minus                           { set-column-width "-10%"; }
    Mod+Equal                           { set-column-width "+10%"; }
    Mod+Shift+Minus                     { set-window-height "-10%"; }
    Mod+Shift+Equal                     { set-window-height "+10%"; }

    // ─── Modes ───
    Mod+Shift+T                         { toggle-window-floating; }
    Mod+F                               { fullscreen-window; }
    Mod+W                               { toggle-column-tabbed-display; }

    // ─── Screenshots ───
    Mod+Shift+S                         { screenshot; }
    Print                               { screenshot-screen; }
    Mod+Print                           { screenshot-window; }

    // ─── Emergency Escape Key ───
    // Use this when a fullscreen app blocks your keybinds.
    // It disables any active keyboard shortcut inhibitor, restoring control.
    Mod+ESCAPE                          allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }

    // ─── Exit / Power ───
    CTRL+ALT+Delete                     { quit; } // Also quits Niri
    Mod+Shift+P                         { power-off-monitors; } // Turn off screens (useful for OLED or privacy)
    Mod+O                               repeat=false { toggle-overview; }
}
  1. Nhấn Ctrl + O để lưu file và Ctrl + X để thoát.

  2. Sau này muốn xem phím tắt thì nhấn Windows + /

  • Màn hình Desktop ví dụ:

image

3

Thảo luận

0 bình luận

Đang tải bình luận…

?