啟動時打開數字鎖定鍵
控制台[編輯 | 編輯原始碼]
早期啟動 (mkinitcpio)[編輯 | 編輯原始碼]
您可以在內核啟動後立即在 initramfs 中啟用 numlock。這是確保即使在輸入全盤加密密碼期間 numlock 也開啟的唯一方法。安裝 mkinitcpio-numlockAUR ,並並在 /etc/mkinitcpio.conf
HOOKS 數組中的 encrypt
之前添加 numlock
mkinitcpio 鈎子:
/etc/mkinitcpio.conf
... HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont numlock block encrypt lvm2 filesystems fsck) ...
然後重新生成鏡像以應用更改。
使用此方法的優勢在於,numlock 設置將在後續啟動過程中被複製,並且新的虛擬控制台將默認開啟 numlock。
使用 Systemd 服務[編輯 | 編輯原始碼]
首先創造在相關 TTY 上設置 numlock 的腳本:
/usr/local/bin/numlock
#!/bin/bash for tty in /dev/tty{1..6} do /usr/bin/setleds -D +num < "$tty"; done
創建好文件後,修改為可執行,這樣才能運行腳本。
然後創建並啟用 systemd 服務:
/etc/systemd/system/numlock.service
[Unit] Description=numlock [Service] ExecStart=/usr/local/bin/numlock StandardInput=tty RemainAfterExit=yes [Install] WantedBy=multi-user.target
擴展getty@.service
[編輯 | 編輯原始碼]
這個方法比使用單獨服務簡單,不需要在腳本中寫入 VT 編號。在原始 gettty unit 文件上添加一段擴展:
/etc/systemd/system/getty@.service.d/activate-numlock.conf
[Service] ExecStartPre=/bin/sh -c 'setleds -D +num < /dev/%I'
要禁用登錄屏幕上打數字鍵啟用提示,編輯 getty@tty1.service
,添加 --nohints
到 agetty 選項:
[Service]
ExecStart=-/sbin/agetty -o '-p -- \\u' --nohints --noclear %I $TERM
Bash 替代方案[編輯 | 編輯原始碼]
將 setleds -D +num
加入到 ~/.bash_profile
. 需要注意的是,不同於其他方法,這種方式將會在你登錄後才生效。
X window[編輯 | 編輯原始碼]
有許多可選方案:
startx[編輯 | 編輯原始碼]
安裝 numlockx包 包,並將其添加到 xinitrc 文件所有 ~/.xinitrc
語句前:exec
~/.xinitrc
numlockx & exec window manager
MATE[編輯 | 編輯原始碼]
MATE 默認會保存上次啟動時的數字鍵盤狀態,要確保每次啟動都啟用:
$ dconf write org.mate.peripherals-keyboard remember-numlock-state false
$ dconf write org.mate.peripherals-keyboard numlock-state 'on'
KDE Plasma 用戶[編輯 | 編輯原始碼]
系統設置 > 輸入設備 > 鍵盤,硬件選項卡中,包含了 NumLock 行為的配置。
GDM[編輯 | 編輯原始碼]
因為numlock-state
設置,要更改它,您必須更改相應的dconf鍵(並以gdm
用戶身份執行)
# su # su gdm -s /bin/sh #become gdm user with a shell sh$ export $(dbus-launch) sh$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.peripherals.keyboard numlock-state on sh$ exit $ systemctl restart gdm #
GNOME[編輯 | 編輯原始碼]
運行下面命令:
$ gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true
要記住上次的數字鍵盤狀態:
$ gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true
Xfce[編輯 | 編輯原始碼]
在 ~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
中確保以下值設定為 true:
<property name="Numlock" type="bool" value="true"/>
<property name="RestoreNumlock" type="bool" value="true"/>
keyboards.xml
。SDDM[編輯 | 編輯原始碼]
在/etc/sddm.conf
配置文件中, 在[General]
部分中添加以下行:
[General] Numlock=on
SLiM[編輯 | 編輯原始碼]
取消文件/etc/slim.conf
中如下行的注釋(刪除#
):
#numlock on
OpenBox[編輯 | 編輯原始碼]
在文件 ~/.config/openbox/autostart
中加入如下內容:
numlockx &
LightDM[編輯 | 編輯原始碼]
參見 LightDM#NumLock on by default.
LXDM[編輯 | 編輯原始碼]
在 /etc/lxdm/lxdm.conf
中設置:
numlock=1
LXQt[編輯 | 編輯原始碼]
在 ~/.config/lxqt/session.conf
中設置:
[Keyboard]
numlock=true
Wayland[編輯 | 編輯原始碼]
Sway[編輯 | 編輯原始碼]
參見 Sway#初始化啟用_CapsLock 。
Hyprland[編輯 | 編輯原始碼]
在 ~/.config/hypr/hyprland.conf
中配置:
~/.config/hypr/hyprland.conf
input { numlock_by_default = true ... }
SDDM with KWIN (KDE Plasma)[編輯 | 編輯原始碼]
在 /var/lib/sddm/.config/kcminputrc
中配置:
/var/lib/sddm/.config/kcminputrc
[Keyboard] NumLock=0