A resposta de Long é a melhor para desktops modernos como o Gnome, porque o próprio Gnome usa xkb e sobrescreve as configurações do xmodmap por padrão (também, o xmodmap está saindo e não é suportado em Wayland). Infelizmente, ainda funcionará apenas até a reinicialização.
Você pode aplicar esta opção permanentemente à área de trabalho do Gnome com este comando:
gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"
É claro que você também pode fazer essa alteração permanentemente e mesmo em todo o sistema, sem usar o Gnome. Se você usa o Gnome, você ainda deve usar o comando acima para impedir que o Gnome substitua essa configuração. Para o Arch , você pode adicionar um arquivo /etc/X11/xorg.conf.d/90-custom-kbd.conf
com o seguinte conteúdo:
Section "InputClass"
Identifier "keyboard defaults"
MatchIsKeyboard "on"
Option "XKbOptions" "lv3:caps_switch"
EndSection
Suponho que isso difere entre distribuições, portanto sua milhagem pode variar.