- Se o seu teclado digita ; no lugar de ç, a solução mais estável para teclado abnt2 ubuntu 24.04 é forçar br+abnt2 no GNOME e reiniciar o IBus.
- Para restaurar ? no padrão do usuário, use lv3:ralt_switch, que mantém Alt direito + W no fluxo de teclado abnt2 ubuntu 24.04.
- O erro comum em teclado abnt2 ubuntu 24.04 é conflito entre fonte de entrada do GNOME e engine do IBus, mesmo quando localectl parece correto.
- Para evitar regressão após update, bloqueie sources e xkb-options no dconf, etapa crítica para estabilidade de teclado abnt2 ubuntu 24.04.
- A validação final de teclado abnt2 ubuntu 24.04 deve incluir teste real de ç, á, ã e Alt direito + W = ?, além de checar chaves travadas no gsettings writable.
Se você usa um teclado gamer Kodi com layout físico híbrido (ANSI com tecla Ç) e o Ubuntu 24.04 passa a se comportar como US, este guia corrige o problema de forma estável. O procedimento foi validado em Ubuntu 24.04 com GNOME + Wayland + IBus, e tende a funcionar em Ubuntu 22.04 ou superior com o mesmo stack. Mas estes comandos funcionam em qualquer distribuição Linux rodando o GNOME. No exemplo, estamos usando o Ubuntu.
Cenário deste tutorial
Sintomas do caso real:
- tecla
çdigitando; - acentos não funcionando corretamente
- necessidade de manter
Alt direito + Wgerando? - configuração voltando ao estado errado após reiniciar ou atualizar
Objetivo final
Ao terminar, você terá:
ç,á,ãfuncionandoAlt direito + Wgerando?- layout persistente em
brcomlv3:ralt_switch - proteção para atualizações não sobrescreverem as opções críticas de input source
Antes de começar
Importante para não dar erro:
- comandos
gsettingsdevem ser executados no usuário logado na sessão gráfica - comandos em
/etc/dconf/...usamsudo - sempre faça logout/login após
dconf update
Passo 1: limpar estado quebrado anterior
Este passo remove arquivos que costumam causar “A chave não é gravável” ou valor inválido de dconf.
sudo rm -f /etc/dconf/db/local.d/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/input-sources
sudo dconf updateOpcional: verificar se ainda existe lock ativo em outro lugar
sudo grep -RnsE '/org/gnome/desktop/input-sources/(sources|mru-sources|xkb-options)' /etc/dconf/db/*/locks 2>/dev/null || truePasso 2: definir configuração persistente correta no dconf de sistema
Crie o profile do dconf e grave os valores que funcionaram no seu caso.
sudo mkdir -p /etc/dconf/profile /etc/dconf/db/local.d/locks
printf "user-db:user\nsystem-db:local\n" | sudo tee /etc/dconf/profile/user >/dev/nullAgora grave os defaults corretos:
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/00-input-sources >/dev/null
[org/gnome/desktop/input-sources]
sources=[('xkb', 'br')]
mru-sources=[('xkb', 'br')]
xkb-options=['lv3:ralt_switch']
[org/freedesktop/ibus/general]
use-system-keyboard-layout=false
preload-engines=['xkb:br::por']
engines-order=['xkb:br::por']
EOFCompile o banco:
sudo dconf updateFaça logout/login.
Passo 3: validar funcionamento antes de travar
No usuário da sessão gráfica, rode:
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.input-sources xkb-options
gsettings get org.freedesktop.ibus.general use-system-keyboard-layout
gsettings get org.freedesktop.ibus.general preload-engines
gsettings get org.freedesktop.ibus.general engines-orderEsperado:
sources=[('xkb', 'br')]xkb-options=['lv3:ralt_switch']use-system-keyboard-layout=falsepreload-engines=['xkb:br::por']engines-order=['xkb:br::por']
Teste no editor de texto:
ç->çShift + ç->Ç- acento agudo +
a->á - til +
a->ã Alt direito + W->?
Se tudo estiver correto, siga para o bloqueio.
Passo 4: travar as chaves para impedir regressão
Agora sim, aplique o lock nas chaves críticas.
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/locks/00-input-sources >/dev/null
/org/gnome/desktop/input-sources/sources
/org/gnome/desktop/input-sources/mru-sources
/org/gnome/desktop/input-sources/xkb-options
EOF
sudo dconf updateFaça logout/login novamente.
Passo 5: confirmar que ficou bloqueado e estável
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.input-sources xkb-options
gsettings writable org.gnome.desktop.input-sources sources
gsettings writable org.gnome.desktop.input-sources xkb-optionsEsperado:
sources=[('xkb', 'br')]xkb-options=['lv3:ralt_switch']writable=falsepara ambas as chaves
false aqui é o comportamento correto após o lock.
Passo 6: garantir uma única fonte de entrada na interface
Abra Configurações > Teclado > Fontes de entrada e mantenha apenas:
- Português (Brasil)
Remova qualquer fonte extra (US/English/etc.).
Backup rápido da configuração
Depois de estável, salve backup para recuperação rápida:
dconf dump /org/gnome/desktop/input-sources/ > ~/.backup-input-sources.txt
dconf dump /org/freedesktop/ibus/ > ~/.backup-ibus.txt
Para restaurar:
dconf load /org/gnome/desktop/input-sources/ < ~/.backup-input-sources.txt
dconf load /org/freedesktop/ibus/ < ~/.backup-ibus.txt
ibus restartComo desfazer o bloqueio
Se quiser voltar a editar pela interface:
sudo rm -f /etc/dconf/db/local.d/locks/00-input-sources && sudo dconf updateScript único para copiar e colar
Este script aplica a correção completa e trava no final.
Se você usa um teclado gamer Kodi com layout físico híbrido (ANSI com tecla Ç) e o Ubuntu 24.04 passa a se comportar como US, este guia corrige o problema de forma estável.
O procedimento foi validado em Ubuntu 24.04 com GNOME + Wayland + IBus, e tende a funcionar em Ubuntu 22.04 ou superior com o mesmo stack.
## Cenário deste tutorial
Sintomas do caso real:
* tecla `ç` digitando `;`
* acentos não funcionando corretamente
* necessidade de manter `Alt direito + W` gerando `?`
* configuração voltando ao estado errado após reiniciar ou atualizar
## Objetivo final
Ao terminar, você terá:
* `ç`, `á`, `ã` funcionando
* `Alt direito + W` gerando `?`
* layout persistente em `br` com `lv3:ralt_switch`
* proteção para atualizações não sobrescreverem as opções críticas de input source
## Antes de começar
Importante para não dar erro:
1. comandos `gsettings` devem ser executados no usuário logado na sessão gráfica
2. comandos em `/etc/dconf/...` usam `sudo`
3. sempre faça logout/login após `dconf update`
---
## Passo 1: limpar estado quebrado anterior
Este passo remove arquivos que costumam causar “A chave não é gravável” ou valor inválido de dconf.
```bash
sudo rm -f /etc/dconf/db/local.d/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/input-sources
sudo dconf update
```
Opcional: verificar se ainda existe lock ativo em outro lugar
```bash
sudo grep -RnsE '/org/gnome/desktop/input-sources/(sources|mru-sources|xkb-options)' /etc/dconf/db/*/locks 2>/dev/null || true
```
---
## Passo 2: definir configuração persistente correta no dconf de sistema
Crie o profile do dconf e grave os valores que funcionaram no seu caso.
```bash
sudo mkdir -p /etc/dconf/profile /etc/dconf/db/local.d/locks
printf "user-db:user\nsystem-db:local\n" | sudo tee /etc/dconf/profile/user >/dev/null
```
Agora grave os defaults corretos:
```bash
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/00-input-sources >/dev/null
[org/gnome/desktop/input-sources]
sources=[('xkb', 'br')]
mru-sources=[('xkb', 'br')]
xkb-options=['lv3:ralt_switch']
[org/freedesktop/ibus/general]
use-system-keyboard-layout=false
preload-engines=['xkb:br::por']
engines-order=['xkb:br::por']
EOF
```
Compile o banco:
```bash
sudo dconf update
```
Faça logout/login.
---
## Passo 3: validar funcionamento antes de travar
No usuário da sessão gráfica, rode:
```bash
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.input-sources xkb-options
gsettings get org.freedesktop.ibus.general use-system-keyboard-layout
gsettings get org.freedesktop.ibus.general preload-engines
gsettings get org.freedesktop.ibus.general engines-order
```
Esperado:
* `sources` = `[('xkb', 'br')]`
* `xkb-options` = `['lv3:ralt_switch']`
* `use-system-keyboard-layout` = `false`
* `preload-engines` = `['xkb:br::por']`
* `engines-order` = `['xkb:br::por']`
Teste no editor de texto:
* `ç` -> `ç`
* `Shift + ç` -> `Ç`
* acento agudo + `a` -> `á`
* til + `a` -> `ã`
* `Alt direito + W` -> `?`
Se tudo estiver correto, siga para o bloqueio.
---
## Passo 4: travar as chaves para impedir regressão
Agora sim, aplique o lock nas chaves críticas.
```bash
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/locks/00-input-sources >/dev/null
/org/gnome/desktop/input-sources/sources
/org/gnome/desktop/input-sources/mru-sources
/org/gnome/desktop/input-sources/xkb-options
EOF
sudo dconf update
```
Faça logout/login novamente.
---
## Passo 5: confirmar que ficou bloqueado e estável
```bash
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.input-sources xkb-options
gsettings writable org.gnome.desktop.input-sources sources
gsettings writable org.gnome.desktop.input-sources xkb-options
```
Esperado:
* `sources` = `[('xkb', 'br')]`
* `xkb-options` = `['lv3:ralt_switch']`
* `writable` = `false` para ambas as chaves
`false` aqui é o comportamento correto após o lock.
---
## Passo 6: garantir uma única fonte de entrada na interface
Abra **Configurações > Teclado > Fontes de entrada** e mantenha apenas:
* **Português (Brasil)**
Remova qualquer fonte extra (US/English/etc.).
---
## Backup rápido da configuração
Depois de estável, salve backup para recuperação rápida:
```bash
dconf dump /org/gnome/desktop/input-sources/ > ~/.backup-input-sources.txt
dconf dump /org/freedesktop/ibus/ > ~/.backup-ibus.txt
```
Para restaurar:
```bash
dconf load /org/gnome/desktop/input-sources/ < ~/.backup-input-sources.txt
dconf load /org/freedesktop/ibus/ < ~/.backup-ibus.txt
ibus restart
```
---
## Como desfazer o bloqueio
Se quiser voltar a editar pela interface:
```bash
sudo rm -f /etc/dconf/db/local.d/locks/00-input-sources
sudo dconf update
```
---
## Script único para copiar e colar
Este script aplica a correção completa e trava no final.
```bash
#!/usr/bin/env bash
set -euo pipefail
echo "[1/6] Limpando estado anterior"
sudo rm -f /etc/dconf/db/local.d/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/00-input-sources
sudo rm -f /etc/dconf/db/local.d/locks/input-sources
sudo dconf update
echo "[2/6] Criando profile do dconf"
sudo mkdir -p /etc/dconf/profile /etc/dconf/db/local.d/locks
printf "user-db:user\nsystem-db:local\n" | sudo tee /etc/dconf/profile/user >/dev/null
echo "[3/6] Gravando defaults persistentes"
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/00-input-sources >/dev/null
[org/gnome/desktop/input-sources]
sources=[('xkb', 'br')]
mru-sources=[('xkb', 'br')]
xkb-options=['lv3:ralt_switch']
[org/freedesktop/ibus/general]
use-system-keyboard-layout=false
preload-engines=['xkb:br::por']
engines-order=['xkb:br::por']
EOF
sudo dconf update
echo "[4/6] Aplicando locks"
cat <<'EOF' | sudo tee /etc/dconf/db/local.d/locks/00-input-sources >/dev/null
/org/gnome/desktop/input-sources/sources
/org/gnome/desktop/input-sources/mru-sources
/org/gnome/desktop/input-sources/xkb-options
EOF
sudo dconf update
echo "[5/6] Estado atual"
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.input-sources xkb-options
gsettings writable org.gnome.desktop.input-sources sources
gsettings writable org.gnome.desktop.input-sources xkb-options
echo "[6/6] Concluído. Faça logout/login e teste: ç, á, ã e Alt direito + W = ?"
```
Como executar:
```bash
nano ~/fix-teclado-kodi.sh
chmod +x ~/fix-teclado-kodi.sh
~/fix-teclado-kodi.sh
```
---
## Conclusão
Para este teclado Kodi híbrido no Ubuntu 24.04, o ponto decisivo foi:
1. definir `sources=[('xkb', 'br')]`
2. usar `xkb-options=['lv3:ralt_switch']` para manter `Alt direito + W` como `?`
3. alinhar IBus (`xkb:br::por`)
4. travar `sources`, `mru-sources` e `xkb-options` no dconf para evitar regressão após updates
Se quiser, no próximo passo eu também posso transformar este conteúdo na versão final já formatada para Gutenberg, com blocos de “atenção”, “diagnóstico” e “copiar comando”.Como executar:
nano ~/fix-teclado-kodi.sh && chmod +x ~/fix-teclado-kodi.sh && ~/fix-teclado-kodi.shConclusão
Para este teclado Kodi híbrido no Ubuntu 24.04, o ponto decisivo foi:
- definir
sources=[('xkb', 'br')] - usar
xkb-options=['lv3:ralt_switch']para manterAlt direito + Wcomo? - alinhar IBus (
xkb:br::por) - travar
sources,mru-sourcesexkb-optionsno dconf para evitar regressão após updates
