web-dev-qa-db-fra.com

Erreur lors de la définition de la disposition kb avec `setxkbmap`

J'ai x11-forwarding mis en place d'un Ubuntu 12.04 vm à mon ordinateur portable (Windows). Cela fonctionne, mais lorsque je tape dans les applications transférées, il utilise la disposition qwerty et je voudrais qu’il utilise colemak.

Je voudrais une solution de ligne de commande car je n'ai pas l'interface graphique installée dans la machine virtuelle.

J'ai essayé setxkbmap -v us -variant colemak, mais je reçois le message "Erreur lors du chargement de la nouvelle description du clavier":

$ setxkbmap -v us -variant colemak
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Warning! Multiple definitions of layout variant
         Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes:   xfree86+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us(colemak)
geometry:   pc(pc101)
Error loading new keyboard description

J'ai aussi essayé setxkbmap -v us -variant dvorak, qui a semblé fonctionner.

Qu'est-ce qui ne va pas? Colemak est livré avec ubuntu, et je peux voir une section à ce sujet dans /usr/share/X11/xkb/symbols/us, où la disposition est définie, je suppose.

6
Gabe Moothart

Mon erreur a été de supposer que les dispositions de clavier importantes étaient celles de la machine virtuelle (/ usr/share/X11/xkb/symboles /).

En fait, lorsque vous utilisez x-forwarding, ce sont les dispositions de clavier définies dans mon serveur x, les xming (C:\Program Files (x86)\Xming\xkb\symboles) qui sont importants et colemak n’est pas inclus par défaut avec xming. J'ai pu télécharger la définition de colemak et la déposer dans le dossier des symboles de xming; alors cela fonctionne comme prévu.

3
Gabe Moothart

C'est étrange, je peux passer correctement à colemak avec votre commande:

#> setxkbmap -v us -variant colemak
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Warning! Multiple definitions of layout variant
         Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us(colemak)+inet(evdev)
geometry:   pc(pc105)

mais je ne peux pas si j'essaie de garder ma variante italienne:

#> setxkbmap -v it -variant colemak
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Warning! Multiple definitions of layout variant
         Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+it(colemak)+inet(evdev)
geometry:   pc(pc105)
Error loading new keyboard description

Je vous suggérerais cet article , mais étant donné que vous n'avez pas de gestionnaire de bureau installé, il sera plutôt inutile.

Cependant, la motivation devrait être celle-ci:

#> grep colemak /usr/share/X11/xkb/symbols/*
/usr/share/X11/xkb/symbols/gb:xkb_symbols "colemak" {
/usr/share/X11/xkb/symbols/gb:    include "us(colemak)"
/usr/share/X11/xkb/symbols/lv:// http://colemak.com/
/usr/share/X11/xkb/symbols/lv:xkb_symbols "colemak" {
/usr/share/X11/xkb/symbols/lv:xkb_symbols "apostrophecolemak" {
/usr/share/X11/xkb/symbols/lv:  include "lv(colemak)"
/usr/share/X11/xkb/symbols/ph:// http://colemak.com
/usr/share/X11/xkb/symbols/ph:xkb_symbols "colemak" {
/usr/share/X11/xkb/symbols/ph:xkb_symbols "colemak-bay" {
/usr/share/X11/xkb/symbols/us:// 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
/usr/share/X11/xkb/symbols/us:xkb_symbols "colemak" {

Je peux choisir la disposition colemak parmi gb, lv, ph et us langues seulement. Vous devriez avoir un problème similaire.

À la fin de l’histoire, vous pouvez faire deux choses: sélectionnez colemak pour une langue proche de us que vous avez installée (par exemple uk ou gb), ou essayez installer colemak support de us langue via la ligne de commande (je ne sais vraiment pas comment, désolé).

1
Avio