De seus comentários para as outras respostas, posso ver que você não está executando um daemon de configurações. A maioria dos DesktopEnvironments (como o Gnome, KDE, etc.) executa um serviço para acompanhar cada pequena configuração para você! Mas os WindowManagers (como o WindowMaker, i3, awesome etc.) geralmente não possuem esse recurso.
Se você estiver iniciando um WindowManager de ~/.xsession
ou outro script caseiro, defina suas configurações de teclado para essa sessão específica. A configuração do layout do teclado pode ser feita com setxkbmap
do seu script Xsession antes da linha onde você inicia o WindowManager.
setxkbmap -model sun_type7_usb -layout gb -option ctrl:swapcaps
Como informação de bónus, pode obter todos os modelos disponíveis, esquemas, etc. destes comandos:
localectl list-x11-keymap-models
localectl list-x11-keymap-layouts
localectl list-x11-keymap-variants [layout]
localectl list-x11-keymap-options
Essas informações foram encontradas principalmente em ArchWiki , onde há mais algumas informações sobre teclados em geral pode diferir um pouco do Ubuntu.