Definir permanentemente o layout do teclado no X11

Definir permanentemente o layout do teclado no X11

Preciso de um psiquiatra para meu PC.

Está convencido de que é um iMac (mais ou menos).

Sério: estou com um problema que apareceu aparentemente do nada, provavelmente devido a alguma atualização com "efeitos colaterais", mas realmente não sei o que aconteceu.

Concedido, tenho uma configuração bastante complicada:

  • PC X64 rodando Windows 7
  • Caixa Virtualsem cabeçaMáquina Virtual rodando Debian (stretch)
  • Eu acesso a VM via ssh (KiTTY) com encaminhamento X11
  • Normalmente trabalho na linha de comando, mas às vezes uso programas gráficos.
  • Tenho a versão atual do VcXserv instalada no host para atender Xclients.

Isso está funcionando há anos.

Agora, de repente, meu teclado começou a "agir de forma estranha" apenas para clientes X (o terminal ssh simples não é afetado).

Depois de muito pesquisar, encontrei algo:

esta é a saída de setxkbmap -print -verbose 10:

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/xorg...
Trying to load rules file /usr/share/X11/xkb/rules/xorg...
Success.
Applied rules from xorg:
rules:      xorg
model:      macintosh
layout:     it
options:    grab:break_actions
Trying to build keymap using the following components:
keycodes:   macintosh+aliases(qwerty)
types:      complete+numpad(mac)
compat:     complete+xfree86(grab_break)
symbols:    pc+macintosh_vndr/it+inet(apple)
geometry:   macintosh(macintosh)
xkb_keymap {
        xkb_keycodes  { include "macintosh+aliases(qwerty)"     };
        xkb_types     { include "complete+numpad(mac)"  };
        xkb_compat    { include "complete+xfree86(grab_break)"  };
        xkb_symbols   { include "pc+macintosh_vndr/it+inet(apple)"      };
        xkb_geometry  { include "macintosh(macintosh)"  };
};

Com certeza setxkbmap -model pc105 -layout itresolve o problema, mas ele estará de volta na próxima inicialização da VM.

Como posso definir isso permanentemente? (observe que não tenho xserver local na VM, então não tenho ~/.xinitrcarquivos semelhantes)

Eu também gostaria de entender o que aconteceu. Alguém pode sugerir onde procurar?

Responder1

Tente definir um padrão de sistema para X:

$ sudo localectl set-x11-keymap it pc105

... isso pode afetar apenas Xservers no host, mas tente primeiro; como efeito colateral, ele definirá um mapa de teclas do console equivalente que pode fazer parte da detecção instável.

Se isso não funcionar, basta executar uma setxkbmap | xkbcomprotina apropriada em um ~/.profileou ~/.bashrc:

 if [ -n $DISPLAY ] ; then
   setxkbmap -model pc105 -layout it -print | xkbcomp - $DISPLAY
 fi

Isso será executado quando você fizer login na sessão SSH, portanto, qualquer programa gráfico executado posteriormente deverá obter o mapa de teclado correto.

informação relacionada