Activating numlock on bootup (简体中文) - ArchWiki

Jump to content
翻译状态：本文是 Activating numlock on bootup 的翻译。上次翻译日期：2020-12-11。如果英文版本有所更改，则您可以帮助同步翻译。

## 控制台

### 使用单独服务

提示： 这些步骤可以被install systemd-numlockonttyAUR 并 enabling `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 软件包并将其加入到`~/.xinitrc`中`exec`之前:

    #!/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

Categories:

- Boot process (简体中文)
- Keyboards (简体中文)