Cada vez que encendemos un equipo del aula con Debian y escritorio Plasma, el teclado numérico aparece apagado. El alumnado escribe la contraseña con los números de la derecha, no aparece nada y hay que pulsar Bloq Num antes de volver a intentarlo. Es un detalle pequeño, pero en veinte equipos y varias veces al dÃa acaba siendo un fastidio. Veamos cómo dejarlo activado por defecto, tanto en la pantalla de inicio de sesión como dentro del escritorio.

Descarga los archivos
- activar-numlock.sh: script para ejecutar en un solo equipo.
- numlock-aula.yaml: playbook de Ansible para configurar toda el aula de una vez.
Por qué no basta con una sola opción
El NumLock hay que activarlo en dos momentos diferentes:
- En la pantalla de inicio (SDDM), que es donde se escribe la contraseña.
- En la sesión de Plasma, que al arrancar puede volver a dejar el teclado como estaba.
Además, Debian 13 inicia Plasma en Wayland por defecto, y ahà la herramienta clásica numlockx no funciona: solo sirve en las sesiones X11. Por eso el script hace cuatro cosas, para que funcione en cualquier caso.
Qué hace el script
- Instala
numlockx, la pequeña utilidad que enciende el NumLock en X11. - Configura SDDM creando
/etc/sddm.conf.d/numlock.confcon la opciónNumlock=on. Asà el teclado numérico ya está encendido en la pantalla de inicio. - Crea un inicio automático global en
/etc/xdg/autostart/numlockx.desktop, que ejecutanumlockx oncuando cualquier usuario entra en una sesión X11. - Fija el valor por defecto de Plasma en
/etc/xdg/kcminputrccon el valorNumLock=0en la sección[Keyboard]. Plasma interpreta0como «activado al iniciar» (1es desactivado y2deja el estado como esté). Esta es la parte que funciona también en Wayland.
Como todo se guarda en /etc, la configuración se aplica a todos los usuarios del equipo, también a los que se creen más adelante.
El script
Descárgalo desde el enlace del principio (activar-numlock.sh) o copia su contenido en un archivo con el mismo nombre (los mensajes del script están en gallego):
#!/bin/bash
# Activa o NumLock por defecto (pantalla de inicio SDDM + sesión KDE/X11)
# Equivalente local do playbook de Ansible da aula.
# Uso: sudo bash activar-numlock.sh
set -e
if [ "$(id -u)" -ne 0 ]; then
echo "Este script debe executarse como root: sudo bash $0" >&2
exit 1
fi
echo "[1/4] Instalando numlockx..."
apt-get update -qq
apt-get install -y numlockx
echo "[2/4] Configurando SDDM (pantalla de inicio)..."
install -d -m 0755 /etc/sddm.conf.d
cat > /etc/sddm.conf.d/numlock.conf <<'EOF'
[General]
Numlock=on
EOF
chmod 0644 /etc/sddm.conf.d/numlock.conf
echo "[3/4] Creando autostart global (numlockx on ao iniciar sesión)..."
cat > /etc/xdg/autostart/numlockx.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=Activar NumLock Aula
Exec=numlockx on
Icon=keyboard
NoDisplay=true
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
EOF
chmod 0644 /etc/xdg/autostart/numlockx.desktop
echo "[4/4] Valor por defecto de KDE Plasma (tamén funciona en Wayland)..."
# NumLock=0 -> activado ao iniciar Plasma (1 = desactivado, 2 = sen cambios)
if [ -f /etc/xdg/kcminputrc ] && grep -q '^\[Keyboard\]' /etc/xdg/kcminputrc; then
sed -i '/^\[Keyboard\]/,/^\[/{/^NumLock=/d}' /etc/xdg/kcminputrc
sed -i '/^\[Keyboard\]/a NumLock=0' /etc/xdg/kcminputrc
else
printf '\n[Keyboard]\nNumLock=0\n' >> /etc/xdg/kcminputrc
fi
# Activalo xa na sesión actual, se hai unha sesión X aberta
if [ -n "$SUDO_USER" ] && [ -n "$DISPLAY" ]; then
sudo -u "$SUDO_USER" DISPLAY="$DISPLAY" numlockx on 2>/dev/null || true
fi
echo "Feito: NumLock configurado en $(hostname). Pecha sesión ou reinicia para comprobalo."
Cómo ejecutarlo
Abre una terminal (Konsole) y ve a la carpeta donde guardaste el archivo. Por ejemplo, si lo dejaste en Descargas:
cd ~/Descargas
Primero dale permisos de ejecución, para que el sistema lo trate como un programa y no como un simple archivo de texto:
chmod +x activar-numlock.sh
Puedes comprobar que los tiene con ls -l activar-numlock.sh: al principio de la lÃnea debe aparecer una x, por ejemplo -rwxr-xr-x.
Ahora ejecútalo como administrador con sudo, porque modifica archivos del sistema en /etc e instala un paquete:
sudo ./activar-numlock.sh
El ./ del principio indica que el script está en la carpeta actual. Te pedirá tu contraseña e irá mostrando los pasos del 1 al 4. Si lo ejecutas sin sudo, el propio script avisa de que debe ejecutarse como root y no hace nada.
Al terminar, cierra la sesión o reinicia el equipo. En la pantalla de inicio el teclado numérico ya deberÃa estar encendido, y seguirá asà al entrar en el escritorio.
Si un usuario sigue con el NumLock apagado
El archivo /etc/xdg/kcminputrc solo marca el valor por defecto. Si algún usuario cambió antes esta opción, su configuración personal (~/.config/kcminputrc) tiene prioridad. En ese caso basta con ir a Preferencias del sistema → Teclado y, en NumLock al iniciar Plasma, elegir Activado. También se puede borrar la lÃnea NumLock= de ese archivo personal para que vuelva a tomar el valor del sistema.
¿Y si tienes muchos equipos? Con Ansible
Si gestionas el aula con Ansible, no hace falta ir equipo por equipo: el playbook numlock-aula.yaml aplica la configuración en todos a la vez desde el equipo del profesorado.
---
- name: Configurar e activar NumLock permanente na aula
hosts: aula
remote_user: root
gather_facts: no # Non necesitamos recoller facts, asà vai máis rápido
tasks:
- name: Instalar numlockx para asegurar o control do teclado
apt:
name: numlockx
state: present
update_cache: yes
- name: Asegurar que o directorio de configuración de SDDM existe
file:
path: /etc/sddm.conf.d
state: directory
mode: '0755'
- name: Configurar SDDM para activar NumLock na pantalla de inicio
copy:
dest: /etc/sddm.conf.d/numlock.conf
content: |
[General]
Numlock=on
mode: '0644'
- name: Crear activación forzada no Autostart global do sistema
copy:
dest: /etc/xdg/autostart/numlockx.desktop
content: |
[Desktop Entry]
Type=Application
Name=Activar NumLock Aula
Exec=numlockx on
Icon=keyboard
NoDisplay=true
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
mode: '0644'
- name: Valor por defecto de KDE Plasma (NumLock activado, tamén en Wayland)
ini_file:
path: /etc/xdg/kcminputrc
section: Keyboard
option: NumLock
value: '0' # 0 = activado, 1 = desactivado, 2 = sen cambios
no_extra_spaces: yes
mode: '0644'
- name: Notificar fin do proceso
debug:
msg: "Configuración do NumLock aplicada e persistente en {{ inventory_hostname }}"
Para usarlo necesitas un inventario con un grupo llamado aula y acceso por SSH como root a los equipos. Por ejemplo, un archivo inventario:
[aula] pc01 pc02 pc03
Y se lanza asà (el .yaml no necesita permisos de ejecución, porque lo lee Ansible):
ansible-playbook -i inventario numlock-aula.yaml
El playbook hace los mismos cuatro pasos que el script, también el de /etc/xdg/kcminputrc, asà que funciona igual en sesiones X11 y Wayland. Usa el módulo ini_file, que viene incluido en la instalación habitual de Ansible (paquete ansible de Debian).