Eu tenho um Ubuntu Server 18.04 com mais de 500 usuários (não simultâneos) e não consigo definir uma configuração de teclado global para todos os usuários da GUI (executando a instalação padrão do GNOME).
A máquina física possui um layout de teclado ABNT2 brasileiro que parece estar configurado corretamente:
root@gilneas:/# cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="br"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
root@gilneas:/# grep -v \# /etc/locale.gen
en_US.UTF-8 UTF-8
pt_BR.UTF-8 UTF-8
Tentei executar dpkg-reconfigure keyboard-configuration
e regenerar os locais com locale-gen --purge
. Mas nada funciona, pois o GNOME não respeita as configurações e seleciona o inglês (EUA) como teclado padrão.
Essas configurações costumavam funcionar nas versões anteriores do Ubuntu Server LTS: 12.04, 14.04 e 16.04; estão todos trabalhando de acordo. Mas não em 18.04.
Descobrir. O problema é que, por padrão, o IBUS ignora as configurações do sistema e as substitui. Portanto, precisamos configurar o IBUS para respeitar as configurações do teclado do sistema. Para isso, basta criar o arquivo
/etc/dconf/db/ibus.d/01-fixkeyboard
com o seguinte conteúdo:Depois de emitir
dconf update
e deve ser bom.Lembre-se de que isso resolve os problemas das contas que não substituíram a configuração do teclado nas configurações do GNOME. No meu caso, limpei todas as configurações do usuário do GNOME com a ajuda desta pergunta: https://askubuntu.com/questions/56313/how-do-i-reset-gnome-to-the-defaults#56314