Activating Numlock on Bootup - ArchWiki

# Activating Numlock on Bootup

## Console

### Using a separate service

Tip: These steps can be automated by installing the systemd-numlockonttyAUR package and enabling the `numLockOnTty` service.

First create a script to set the numlock on relevant TTYs:

    /usr/bin/numlock

    #!/bin/bash

    for tty in /dev/tty{1..6}
    do
        /usr/bin/setleds -D +num < "$tty";
    done

Then create and enable a systemd service:

    /etc/systemd/system/numlock.service

    [Unit]
    Description=numlock

    [Service]
    ExecStart=/usr/bin/numlock
    StandardInput=tty
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

### Extending getty@.service

This is simpler than using a separate service (especially since systemd-198) and does not hardcode the number of VTs in a script. Create a drop-in snippet for getty@.service which are applied on top of the original unit:

    # systemctl edit getty\@.service

    [Service]
    ExecStartPre=/bin/sh -c 'setleds +num < /dev/%I'

To disable the num-lock activation hint displaying on the login screen, edit getty@tty1.service and add `--nohints` to agetty options:

    # systemctl edit getty@tty1.service

    [Service]
    ExecStart=
    ExecStart=-/sbin/agetty --nohints --noclear %I $TERM

### Bash alternative

Add `setleds -D +num` to `~/.bash_profile`. Note that, unlike the other methods, this will not take effect until after you log in.

## X.org

Various methods are available.

### startx

Install the numlockx package and add it to the `~/.xinitrc` file before `exec`:

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

    numlockx &

    exec window_manager

### KDM

If you use KDM as a login manager, add:

    numlockx on

to the `/usr/share/config/kdm/Xsetup`, or the `/opt/kde/share/config/kdm/Xsetup` for KDM3.

Note that this file will be overwritten on update without creating a `.pacnew` file. To prevent this, add the following line to `/etc/pacman.conf` file (omit the leading slash in the path):

    NoUpgrade = usr/share/config/kdm/Xsetup

### KDE Plasma Users

Go to System Settings, under the Hardware/Input Devices/Keyboard item you will find an option to select the behavior of NumLock.

#### Alternate Method

Alternatively, add the script the `~/.kde4/Autostart/numlockx.sh` containing:

    #!/bin/sh
    numlockx on

And make it executable:

    $ chmod +x ~/.kde4/Autostart/numlockx.sh

#### Alternate Method 2

This method enables num lock in KDM login screen (e.g. numeric password)

1) Disable "Themed Greeter" in System Settings -> Login Screen

2) in file /usr/share/config/kdm/kdmrc find section

     [X-*-Greeter]

Right after that line, add this:

     NumLock=On

### GDM

First make sure that you have numlockx (from extra) installed then add the following code to `/etc/gdm/Init/Default`:

    if [ -x /usr/bin/numlockx ]; then
          /usr/bin/numlockx on
    fi

### GNOME

When not using the GDM login manager, numlockx can be added to GNOME's start-up applications.

Install the numlockx package. Then, add a start-up command to launch `numlockx`.

    $ gnome-session-properties

The above command opens the Startup Applications Preferences applet. Click Add and enter the following:

Name: | Numlockx
Command: | /usr/bin/numlockx on
Comment: | Turns on numlock.

Note: This is not a system-wide change, repeat these steps for each user wishing to activate NumLock after logging in.

### Xfce

In the file `~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml`, make sure the following values are set to true:

    <property name="Numlock" type="bool" value="true"/>
    <property name="RestoreNumlock" type="bool" value="true"/>

### SDDM

In the file `/etc/sddm.conf`, under the `[General]` section, set Numlock value to on :

    [General]
    ...
    Numlock=on

### SLiM

In the file `/etc/slim.conf` find the line and uncomment it (remove the `#`):

    #numlock             on

### OpenBox

In the file `~/.config/openbox/autostart` add the line:

    numlockx &

And then save the file.

### LightDM

See LightDM#NumLock on by default.

### LXDM

Set the option in `/etc/lxdm/lxdm.conf`:

    numlock=1

### LXQt

Set the option in `~/.config/lxqt/session.conf`:

    numlock=true

Categories:

- Boot process
- Keyboards