Activating Numlock on Bootup (简体中文) - ArchWiki

# Activating Numlock on Bootup (简体中文)

From ArchWiki
Jump to navigation Jump to search
翻译状态： 本文是英文页面 Activating_Numlock_on_Bootup 的翻译，最后翻译时间：2017-08-22，点击这里可以查看翻译后英文页面的改动。

## 控制台

### 使用单独服务

Tip: 这些步骤可以被install systemd-numlockonttyAUR 并 enabling `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

因为`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

不使用 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

参见 LightDM (简体中文)#默认打开小键盘.

### LXDM

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

    numlock=1

### LXQt

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

    numlock=true

Categories:

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