https://wiki.archlinux.org/index.php/Activating_Numlock_on_Bootup_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
为了防止wiki 失效
下面会复制一些非原文。
控制台
使用单独服务
numLockOnTty
service替代.首先创造在相关 TTY 上设置 numlock 的脚本:
/usr/bin/numlock
#!/bin/bash for tty in /dev/tty{1..6} do /usr/bin/setleds -D +num < "$tty"; done
然后创建并 enable systemd 服务:
/etc/systemd/system/numlock.service
[Unit] Description=numlock [Service] ExecStart=/usr/bin/numlock StandardInput=tty RemainAfterExit=yes [Install] WantedBy=multi-user.target
扩展getty@.service
这个方法比使用单独服务简单,不需要在脚本中写入 VT 编号。在原始 gettty unit 文件上添加一段扩展:
# systemctl edit getty@.service
[Service] ExecStartPre=/bin/sh -c 'setleds +num < /dev/%I'
要禁用登录屏幕上打数字键启用提示,编辑 getty@tty1.service,添加 --nohints
到 agetty 选项:
# systemctl edit getty@tty1.service
[Service] ExecStart= ExecStart=-/sbin/agetty --nohints --noclear %I $TERM
Bash alternative
将 setleds -D +num
加入到 ~/.bash_profile
. 需要注意的是,不同于其他方法,这种方式将会在你登录后才生效。
X window
有许多可选方案:
startx
如果你使用startx来启动X window会话,只需安装 numlockx 软件包并将其加入到~/.xinitrc
中exec
之前:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # numlockx & exec your_window_manager
KDE Plasma 用户
系统设置的硬件/输入设备/键盘一项中,包含了 NumLock 行为的配置方法。
GDM
/etc/gdm/Init
中的脚本.安装 numlockx 并将下面内容加入 ~/.xprofile:
if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi
GNOME
不使用 GDM 的时候,可以将 numlockx
加入 GNOME 的启动程序中。 先 安装 numlockx。然后,添加一个启动命令来启动 numlockx:
$ gnome-session-properties
在Startup Applications Preferences 程序中,点击添加 然后输入:
Name: | Numlockx |
Command: | /usr/bin/numlockx on |
Comment: | Turns on numlock. |
Xfce
在~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
中确保以下值设定为true:
<property name="Numlock" type="bool" value="true"/> <property name="RestoreNumlock" type="bool" value="true"/>
SDDM
在/etc/sddm.conf
配置文件中, 在[General]
部分中添加以下行:
[General] Numlock=on
SLiM
取消文件/etc/slim.conf
中如下行的注释(删除#
):
#numlock on
OpenBox
在文件 ~/.config/openbox/autostart
中加入如下内容:
numlockx &
LightDM
LXDM
在 /etc/lxdm/lxdm.conf
中设置:
numlock=1
LXQt
在 ~/.config/lxqt/session.conf
中设置:
numlock=true