I have this old Dell Vectra which I built for a family friend using Ubuntu Desktop 9.10. I set the NumLock in the BIOS to ON and after I logged into the operating system NumLock was certainly locked. However, for whatever reason NumLock was not ON at the login screen itself.
For those of you seeing this same issue, here is how I fixed this particular machine/OS.
First you’ll want to install numlockx using Synaptic:
System —> Administration —> Synaptic Package Manager
Locate numlockx and mark it for installation then click the Apply button.
Now you just need to add some lines of code to kick that into action at boot time. You will want to edit your /etc/gdm/Init/Default file:
gksudo gedit /etc/gdm/Init/Default
At the end of that file you should see a line containing only “exit 0″. Immediately before that line you will add the code to invoke numlockx:
if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi
Be sure to add a comment line like a good programmer (begin a comment line with a #).
So the end of your Default file should look something like this:
# Added by JamesIsIn to enable NumLock at login screen if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi exit 0
That’s it. Save that file and reboot your machine. NumLock should now be on at your login screen.