Establecer permanentemente la distribución del teclado en X11

Establecer permanentemente la distribución del teclado en X11

Necesito un psiquiatra para mi PC.

Está convencido de que es un iMac (más o menos).

En serio: tengo un problema que aparentemente surgió de la nada, muy probablemente debido a alguna actualización con "efectos secundarios", pero realmente no sé qué pasó.

Por supuesto, tengo una configuración bastante complicada:

  • PC X64 con Windows 7
  • VirtualBoxsin cabezaMáquina virtual ejecutando Debian (estirada)
  • Accedo a la VM vía ssh (KiTTY) con reenvío X11
  • Normalmente trabajo en la línea de comandos, pero a veces uso programas gráficos.
  • Tengo la versión actual de VcXserv instalada en el host para atender a Xclients.

Esto está funcionando desde hace años.

Ahora, de repente, mi teclado comenzó a "comportarse de manera extraña" solo para clientes X (el terminal ssh simple no se ve afectado).

Después de investigar mucho encontré algo:

esta es la salida 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)"  };
};

Efectivamente setxkbmap -model pc105 -layout itresuelve el problema, pero volverá a aparecer en el próximo arranque de la máquina virtual.

¿Cómo puedo configurar esto de forma permanente? (tenga en cuenta que no tengo un servidor x local en la VM, por lo que no tengo ~/.xinitrcarchivos similares)

También me gustaría entender qué pasó. ¿Alguien puede sugerir dónde buscar?

Respuesta1

Intente configurar un sistema predeterminado para X:

$ sudo localectl set-x11-keymap it pc105

... eso puede que solo afecte a los servidores X en el host, pero inténtelo primero; como efecto secundario, establecerá un mapa de teclas de consola equivalente que podría ser parte de la detección irregular.

Si eso no funciona, simplemente ejecute una setxkbmap | xkbcomprutina adecuada en a ~/.profileo ~/.bashrc:

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

Esto se ejecutará cuando inicie sesión en la sesión SSH, por lo que cualquier programa gráfico que ejecute después debería obtener el mapa de teclas correcto.

información relacionada