sexta-feira, 5 de abril de 2019

Problemas com teclado ABNT2 no Debian Linux 9

--------------------------------------------------------------------------------------------------------------
Meu nome é Edson. Sou Técnico em Eletrônica, Técnico em química, Técnico em programação, rádio escuta (SWL) e Radioamador. Sou casado e tenho dois filhos...

Não tenho a pretensão de que este blog seja referencia para quem quer que seja. O objetivo é servir como uma maneira de registrar minhas experiencias com eletrônica, programação radioamadorismo e Linux. Se ajudar alguém beleza, senão paciência...
---------------------------------------------------------------------------------------------------------------




Estava fazendo experiências com um protótipo de impressora CNC com Arduino, em meu Debian 9. Tudo corria muito bem até que precisei usar cedilha e acentos.
Saiu isso:

E no terminal também não estava diferente...








Procurei no Google alguma coisa que me ajuda-se a resolver isso mas nenhum artigo que encontrei resolvia.
Bem, já diz o ditado: "Não desista antes de tentar...". Foi o que fiz...
Fui para as páginas de manuais do Debian:

Man Page's immodules

Não vou entrar em detalhes de como cheguei até aqui mas...

Alguns pacotes necessários  para o funcionamento da CNC também alteram configurações de arquivos e módulos, dentre eles o immodules.cache.
Como corrigir? Fácil, mas nem tanto... Uma das grandes vantagens para quem usa Ubuntu é sem dúvida a sua vasta documentação. Mas ela não atende somente o Ubuntu, serve para várias outras distribuições.


Como eu disse os programas instalados para tratar a CNC e as modificações descuidadas que fiz acabaram modificando a forma com que o meu sistema carrega. Alguns módulos simplesmente não foram mais carregados por padrão ou estavam vazios.
Bem, meu notebook é 32 bits e meu PC é 64 bits. Meio óbvio que os arquivos não estarão no mesmo lugar, então procurar como root:

No 64 bits:
# find /etc/lib -name immodules.cache
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache

No 32 bits:
# find /etc/lib -name immodules.cache
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/immodules.cache
/usr/lib/i386-linux-gnu/gtk-3.0/3.0.0/immodules.cache

Agora, basta editar os arquivos encontrados...

No 64 bits adicionei na linha que menciona o cedilha ":pt-br" porque meu teclado é padrão ABNT2 com c e ç.
Ficou assim:

"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:pt-br"


E no 32 bits adicionei  ":us" porque o teclado é us-acentos com teclas mortas (não gosto do termo, mas é assim mesmo). Ficou assim:

"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:us"


Depois alterar o arquivo compose:
# sed -i /usr/share/X11/locale/en_US.UTF-8/Compose -e 's/ć/ç/g' -e 's/Ć/Ç/g'

Pra fazer o sistema carregar o módulo do cedilha basta adicionar estas linha do arquivo /etc/environment.

GTK_IM_MODULE=cedilla
QT_IM_MODULE=cedilla

Aqui tem que reiniciar tudo. Dá pra carregar só o módulo mas vira gambiarra da grossa, então:

# shutdown -r now

É isso!

Mas, porque isso aconteceu?
Simplesmente não li a documentação, não li os avisos durante as instalações dos softwares e desprezei os avisos do sistema sobre as coisas que estavam acontecendo.
Por preguiça fui apertando enter até dar "MERLIN"...
Linux ou qualquer outro sistema, oferece este tipo de segurança para a própria  integridade, mas o usuário "preguiçoso" pode matar a melhor configuração de segurança que existe... E foi o que eu fiz...
O que aprendi? prestar atenção e ler mais sobre os detalhes do projeto antes de comprometer o sistema de produção.



Ed.

Nenhum comentário:

Postar um comentário

Erro NO_PUBKEY Spotify