Activating numlock on bootup (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 Activating numlock on bootup翻译。上次翻译日期:2020-12-11。如果英文版本有所更改,则您可以帮助同步翻译。

控制台

使用单独服务

提示: 这些步骤可以被install systemd-numlockonttyAURenabling 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

创建好文件后,修改为 可执行,这样才能运行脚本。

然后创建并 enable 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= ExecStart=-/sbin/agetty '-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 (简体中文)#默认打开小键盘.

LXDM

/etc/lxdm/lxdm.conf 中设置:

numlock=1

LXQt

~/.config/lxqt/session.conf 中设置:

[Keyboard]

numlock=true