Numlockx_Automatiser l'activation du pavé numérique

Vos petites astuces, répertoire des tutoriels et astuces
Verrouillé
Avatar du membre
débitant
modérateur
Messages : 12137
Enregistré le : mar. 14 juil. 2015 18:22
Localisation : Lorraine France

Numlockx_Automatiser l'activation du pavé numérique

Message par débitant »

Sauvegarde, suite à un effacement accidentel, du tuto créé par cyrille

Automatiser l'activation de numlockx (pavé numérique)

Juste un how to pour automatiser le lancement de numlockx au démarrage du système via une unité systemd.

Premièrement installer si nécessaire numlockx

Code : Tout sélectionner

sudo apt update && sudo apt install numlockx


1. Créer une unité systemd pour la session X


Créer un script /usr/local/bin/numlock-on.sh

Code : Tout sélectionner

sudo nano /usr/local/bin/numlock-on.sh
Avec ce contenu

Code : Tout sélectionner

#!/bin/bash
# Active le pavé numérique 
/usr/bin/numlockx on 2>/dev/null || true
Le rendre exécutable

Code : Tout sélectionner

sudo chmod +x /usr/local/bin/numlock-on.sh
Ensuite créer l'unité systemd

Code : Tout sélectionner

sudo nano /etc/systemd/system/numlock.service
Avec ce contenu

Code : Tout sélectionner

[Unit]
Description=Activation automatique du pavé numérique
After=display-manager.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/numlock-on.sh

[Install]
WantedBy=graphical.target

Recharger, l'activer et le lancer

Code : Tout sélectionner

sudo systemctl daemon-reload
sudo systemctl enable numlock.service
sudo systemctl start numlock.service
Le pavé numérique sera activé automatiquement au démarrage du système après le lancement du gestionnaire d’affichage (GDM, LightDM, SDDM, etc.).

Si on veut l'activer dès l'apparition de la fenêtre de connexion au serveur X, il va falloir modifier un fichier en fonction du gestionnaire de connexion utilisé.

1. Si LightDM

Editer

Code : Tout sélectionner

sudo nano /etc/lightdm/lightdm.conf
Ajoute (ou décommente) :

Code : Tout sélectionner

[Seat:*]
greeter-setup-script=/usr/bin/numlockx on
2. Si SDDM (souvent sur KDE Plasma)

Editer

Code : Tout sélectionner

sudo nano /etc/sddm.conf
Et ajouter :

Code : Tout sélectionner

[General]
NumLock=on
3. Si LXDM

Editer

Code : Tout sélectionner

sudo nano /etc/lxdm/lxdm.conf
Ajouter / modifier

Code : Tout sélectionner

[base]
numlock=1
Attention, si la ligne numlock=0 existe déjà, change simplement le 0 en 1.

Code : Tout sélectionner

sudo systemctl restart lxdm
ou rebooter




2. Créer une unité systemd pour TTY

Créee le fichier :

Code : Tout sélectionner

sudo nano /etc/systemd/system/numlock-tty.service
Avec le contenu

Code : Tout sélectionner

[Unit]
Description=Activer NumLock sur TTY
After=systemd-user-sessions.service

[Service]
Type=oneshot
ExecStart=/usr/bin/numlockx on
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
Quelques explications :
After=systemd-user-sessions.service → assure que les consoles sont prêtes.
RemainAfterExit=yes → le service reste actif pour garder l’état.

Recharger, activer et démarrer l'unité.

Code : Tout sélectionner

sudo systemctl daemon-reload
sudo systemctl enable numlock-tty.service
sudo systemctl start numlock-tty.service
3. Version unique TTY ET gestionnaire graphique

Bah tout est dans le titre ;)

Créer un fichier /etc/systemd/system/numlock.service

Code : Tout sélectionner

sudo nano /etc/systemd/system/numlock.service
Avec ce contenu

Code : Tout sélectionner

[Unit]
Description=Activer NumLock sur TTY et X
After=systemd-user-sessions.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/numlock-on.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target graphical.target

Quelques explications
:
multi-user.target → TTY
graphical.target → session graphique
RemainAfterExit=yes → conserve l’état NumLock



Recharger, activer et démarrer l'unité.

Code : Tout sélectionner

sudo systemctl daemon-reload
sudo systemctl enable numlock.service
sudo systemctl start numlock.service

Bah voilà, bonne route sous Linux :)
Verrouillé