Definir o layout do teclado permanentemente no X11

1

Eu preciso de um psiquiatra para o meu PC.

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

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

Concedido, tenho uma configuração bastante convoluta:

  • X64 PC executando o Windows 7
  • VirtualBox sem cabeça Máquina virtual rodando Debian (trecho)
  • eu acesso a VM via ssh (KiTTY) com o encaminhamento X11
  • Normalmente eu trabalho na linha de comando, mas às vezes eu uso programas gráficos.
  • Eu tenho a versão atual do VcXserv instalada no host para servir Xclients.

Isso está funcionando desde 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 muita pesquisa, 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 it resolve o problema, mas voltará na próxima inicialização da VM.

Como posso definir isso permanentemente? (note que não tenho nenhum xserver local na VM, então não tenho arquivos ~/.xinitrc e similares)

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

    
por ZioByte 01.02.2017 / 14:21

1 resposta

0

Tente definir um padrão do sistema para X:

$ sudo localectl set-x11-keymap it pc105

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

Se isso não funcionar, basta executar uma rotina setxkbmap | xkbcomp apropriada em ~/.profile ou ~/.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, quaisquer programas gráficos executados posteriormente deverão obter o mapa de teclado correto.

    
por 09.02.2017 / 10:48