Aquí hay una versión destilada:
0) Asegúrese de que el bloqueo de mayúsculas esté apagado
1) Cree el siguiente archivo:
/etc/udev/hwdb.d/10-caps-modifier.hwdb
---
evdev:atkbd:dmi:* # built-in keyboard: match all AT keyboards for now
KEYBOARD_KEY_3a=leftctrl # bind capslock to leftctrl
2) Ejecute el siguiente comando:
$ systemd-hwdb update
3) Ejecute el siguiente comando para que la reasignación tenga efecto inmediato:
$ udevadm trigger
Esto se probó en Ubuntu 18.04.2 LTS con Xfce. La reasignación funciona muy bien en las consolas tty y en el sistema de entrada X.
Gracias a esta página por todos los detalles: https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes, pero se requirió mucho esfuerzo para analizar lo que realmente había que hacer.