Error setting kb layout with `setxkbmap`

My mistake was assuming that the keyboard layouts that were important were the ones in the vm (/usr/share/X11/xkb/symbols/).

Actually, when using x-forwarding it is the keyboard layouts defined in my x server, xming (C:\Program Files (x86)\Xming\xkb\symbols) that are important, and colemak is not included with xming by default. I was able to just download the colemak definition and drop it in the xming symbols folder; then it works as expected.


It's strange, I can correctly switch to colemak with your command:

#> 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)

but I can't if I try to keep my Italian variant:

#> 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

I'd suggest to you this article, but given that you don't have any desktop manager installed it will be pretty useless.

However, the motivation should be this one:

#> 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" {

I can choose the colemak layout among gb, lv, ph and us languages only. You should have a similar problem.

At the end of the story, you can do two things: select colemak for a language close to us that you have installed (e.g. uk or gb), or try to install colemak support for us language via command line (I really don't know how, sorry).