Este é um bug de longa data. Parece estar relacionado a um bug do kernel subjacente, que há muito tempo já é consertado. O problema parece ter sido que Caps_Lock não funcionou para caracteres não-ASCII, portanto, a solução alternativa era mapear Shift_Lock ou CtrlL_Lock para a tecla caps lock.
No lado do Debian, o problema é criado por ckbcomp , que é usado por console-setup para criar o mapa de teclas do console a partir da descrição do teclado XKB. Observe que o código original referenciado no relatório de erros usando Shift_Lock parece ter sido substituído por um código diferente que alterna para CtrlL_Lock . Se você estiver interessado, poderá pesquisar os usos da variável broken_caps no script ckbcomp Perl.
Eu não tenho idéia se o código ainda é necessário por qualquer motivo, talvez valha a pena bater o relatório de bug. No entanto, a solução é colocar a seguinte linha em /etc/kbd/remap e deve ser corrigida após uma reinicialização:
s/CtrlL_Lock/Caps_Lock/
Ou para uma correção temporária até a próxima reinicialização, execute o seguinte em uma sessão tty :
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | sudo loadkeys
Atualizar
Parece que /etc/kbd/remap só é realmente usado se setupcon não estiver disponível. Uma solução melhor é apenas colocar a seguinte linha em /etc/rc.local :
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | loadkeys