How to enable numlock at boot time for login screen?

  • I am trying to force numlock to be on upon initial boot at the login screen on Ubuntu 12.04. The only solutions I have found so far switch numlock on only after initial login.

    I'm looking to force numlock to be on when the login screen is displayed, and before the user has logged in. Can anyone assist?

    is it during login screen on lightdm or after logging in under unity? cause i know solution to both

    *From darryn.ten* -- NOT an exact duplicate, as I need numlock on BEFORE I login not after.

    For Ubuntu 18.04 using Gdm3 see @Faisal answer

  • Eliah Kagan

    Eliah Kagan Correct answer

    8 years ago

    On many machines, you can set whether or not Number Lock is turned on on boot, in the BIOS settings (accessible when you first power on the machine).

    Otherwise, there are a number of ways to enable (or disable) Number Lock in software, depending on your specific needs. The most useful ways are listed here.

    If you want Number Lock turned on when Ubuntu starts (not before that on the GRUB menu, and not afterwards when logging in, and not just for specific virtual consoles), then install numlockx and make the initialization script /etc/rc.local use it to enable Number Lock:

    sudo apt-get update
    sudo apt-get -y install numlockx
    sudo sed -i 's|^exit 0.*$|# Numlock enable\n[ -x /usr/bin/numlockx ] \&\& numlockx on\n\nexit 0|' /etc/rc.local

    Source: NumLock, by Contributors to the Ubuntu documentation wiki, last line taken verbatim (as this source permits).

    So I followed the instructions over at the wiki page you linked to. I did the update command you list here. I did `sudo apt-get install numlockx`. But I didn't use the y option. Is that necessary? Didn't say anything about it over at the wiki page so I didn't do any of that. I rebooted and everything but Numlock is still disabled at boot and at login screen. Will try the update command. Other than that, am I missing something else here? The option "default numeric keypad keys" from keyboard preferences doesn't concern boot settings so I didn't enable that. Should I?

    This did not work for me. Answer by +luvr did however.

    This no longer works on Xubuntu LTS 12.04.

    -y option is for force answer "Yes" if apt-get question about to install it. BECAREFUL WITH THIS: sometimes -I think here it is not the case, at least not in my case- there is some cases when apt-get says that something is needed to remove; in that cases apt-get will ask you confirm that action. But, sometimes remove packages automatically using apt would cause several problems on your machine. As an example sometimes ask you for remove some graphical packages that are use for GUI'S. Even sometimes it has asked me to remove gnome-desktop and some gpu drivers...that will really messed up SO

  • Here's what worked for me:

    1. Ensure that numlockx is installed:

      sudo apt-get install numlockx
    2. Edit the file /etc/lightdm/lightdm.conf

      gksudo gedit /etc/lightdm/lightdm.conf
    3. Add the following line to the file:

      greeter-setup-script=/usr/bin/numlockx on

    How can I just verify that numlockx is installed? Should it appear on a dash search?

    Do I have to remove `greeter-session=unity-greeter` or the user-session=ubuntu` from the file (lightdm.conf)? Or just the greeter-setup-script line below them?

    Yup! This worked like a charm! Unlike the complicated instructions and commands given in the accepted answer. Thanks! I also enabled the option "default numeric keypad keys" as shown below.

    On Ubuntu 13.10 this method prevented the display of the login screen on my machine. After the initial display of the Ubuntu logo, the monitor was simply showing that there is no signal (I tried to reboot a couple of times but it always ended up the same). Not knowing what else to do, I booted the system from a live USB and removed the line from lightdm.conf. After that the system loaded up again just fine.

    @cascaval I had the same problem. What fixed it for me was installing the lightdm greeter (`sudo apt-get install lightdm-gtk-greeter`) then modifying the config so it used unity as before (edit `/etc/lightdm/lightdm.conf` and change the line to `greeter-session=unity-greeter`). THEN you can add the `greeter-setup-script` line, as described by @luvr.

    This also worked for me on Xubuntu LTS 12.04.

    While I know this trick worked for me in past versions, it no longer seems to works in 14.04. Adding this line to lightdm.conf breaks the login process, sending me to Low Graphics mode and preventing a login with Nvidia drivers. Removing this line fixed the problem.

    I don't have the file `/etc/lightdm/lightdm.conf` But I have this `/etc/lightdm/lightdm.conf.d/70-linuxmint.conf` and it works!!! :D

  • 14.04

    Yes, use locate command as follow:

    locate 50-unity-greeter.conf

    The output is:


    So, the file you need to edit is the above file.

    sudo apt-get install numlockx
    gksu gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

    Add this line at the end of file:

    greeter-setup-script=/usr/bin/numlockx on

    What's the difference between /usr/share/lightdm/ and /etc/lightdm? Wouldn't the settings in the former folder be overwritten with updates, while in the second they wont or did I misunderstand the meaning of the folders?

    @PeterRaeves: You are absolutely correct. Radu, I would suggest that you edit your answer accordingly. Editing a package file which is not under /etc can't be anything but a temporary hack.

    This one worked for me

    This is the closest answer that helped me. I use `Xubuntu 14.04` and the file was `/etc/lightdm/lightdm.conf.d/10-xubuntu.conf` and I added the `greeter-setup-script=/usr/bin/numlockx on` to the end of that file and it worked great! +1 for pointing me in the right direction!

    I don't have that file, I only have these: `50-disable-log-backup.conf` `50-guest-wrapper.conf` `90-nvidia.conf` `50-greeter-wrapper.conf` `50-xserver-command.conf` `90-slick-greeter.conf`

    It did work on Ubuntu 16.04! Nice...

    in Ubuntu 16.4, i found file "/usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf" and it worked after correctly edited the file.

    In Ubuntu 18.04 (for my system) the config file was -- `50-ubuntu.conf`.

  • For Enabling it on Login Screen

    First, ensure that numlockx is installed, by typing these in terminal:

    sudo apt-get install numlockx

    Then, edit the file /etc/lightdm/lightdm.conf

    gksudo gedit /etc/lightdm/lightdm.conf

    Add the following line to the file:

    greeter-setup-script=/usr/bin/numlockx on

    For Enabling Numlock by Default after Logging In..

    1. In Dash Search for Keyboard Layout and open it
    2. In the window that opens on the ottom right there is Options, click on it.
    3. Under Miscellaneous compatibility options, Enable Default Numeric Keys.

    enter image description here

    it's not this case, i make this procedure by the way. I press the button "Num Lock" and immediately it's goes off, "don't stay on". I had checked the keyboard and it's ok in other machine and other o.s. I change the keyboard to an older ps/2 keyboard to test. It seems that works, ie, there is some problem with USB keyboard in ubuntu 12.04

    what is a Dash Search? my mine is ubuntu 16.4, and i have not seen Keyboard Layout options (searched under settings, only for keyboard, and it did not have the 'default numeric keypad keys'.

  • I have done this, and it worked for me. First, make sure you have universe repository added.

    Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the commands below.

    sudo apt-get update
    sudo apt-get install numlockx

    Now that numlockx is installed, create a file named Default in /etc/X11/ with these contents:

    if [ -x /usr/bin/X11/numlockx ]; then
        /usr/bin/X11/numlockx on
    exit 0

    Turn off your Num Lock and reboot. Voilà!

    doesn't work in 18.04

  • Xubuntu specific.

    Versions from 14.10 include a pkexec mousepad action.

    Follow previous answers to install numlockx

    Edit /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf as root

    Alt+F2 then

    pkexec mousepad /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf


    greeter-setup-script=/usr/bin/numlockx on

    then save.

  • Ubuntu 18.04

    Open terminal by Ctrl+Alt+T

    Run commands

    sudo -i
    xhost +SI:localuser:gdm
    su gdm -s /bin/bash
    gsettings set org.gnome.settings-daemon.peripherals.keyboard numlock-state 'on'
    gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

    That's it...

    Solution by

    I get: Command 'gdm' not found

    This is the solution if you use Gdm3 in Ubuntu 18.04 (the last line is not needed)

  • Most BIOSes allow this to be enabled. You can check your BIOS for this feature.


    Go to : System Settings -> Keyboard Layout -> Options -> Miscellaneous compatibility options

    Check "Default numeric keypad keys"

    Sources :

  • Here is a little bash script which takes care of everything in an automated way:

    #!/usr/bin/env bash
    KEYVALUE='greeter-setup-script=/usr/bin/numlockx on'
    sudo apt-get --yes install numlockx
    grep --quiet "$KEYVALUE" "$FILE" || echo "$KEYVALUE" | sudo tee --append "$FILE"

    Do not forget to first make your bash script executable with chmod +x scriptname, then execute it with ./scriptname.

  • 19.04 DISCO DINGO


    Num Lock state reset

    Is that for user setting **after** they log in?

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM