啟動時打開數字鎖定鍵

出自 Arch Linux 中文维基

控制台[編輯 | 編輯原始碼]

使用單獨服務[編輯 | 編輯原始碼]

提示:安裝 systemd-numlockonttyAUR啟用 numLockOnTty service 可以替代這些步驟。

首先創造在相關 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 alternative[編輯 | 編輯原始碼]

setleds -D +num 加入到 ~/.bash_profile. 需要注意的是,不同於其他方法,這種方式將會在你登錄後才生效。

X window[編輯 | 編輯原始碼]

有許多可選方案:

startx[編輯 | 編輯原始碼]

如果你使用startx來啟動X window會話,只需安裝 numlockx 軟件包並將其加入到~/.xinitrcexec之前:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#

numlockx &
exec your_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