Вот дистиллированная версия:
0) Убедитесь, что Caps Lock выключен
1) Создайте следующий файл:
/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) Запустите следующую команду:
$ systemd-hwdb update
3) Запустите следующую команду, чтобы переназначение вступило в силу немедленно:
$ udevadm trigger
Это было проверено на Ubuntu 18.04.2 LTS под управлением Xfce. Переназначение прекрасно работает в консолях tty и системе ввода X.
Спасибо этой странице за все детали: https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes, но потребовалось много усилий, чтобы разобрать, что на самом деле нужно было сделать.