Ошибка установки макета kb с помощью `setxkbmap`

У меня настроена переадресация x11 с ubuntu 12.04 vm на мой (windows) ноутбук. Это работает, но когда я набираю перенаправленные приложения, он использует макет qwerty, и я хотел бы, чтобы он использовал colemak.

Я хотел бы решение командной строки, так как у меня нет установленного графического интерфейса в VM.

я пытался setxkbmap -v us -variant colemak, но я получаю "Ошибка загрузки нового описания клавиатуры":

$ 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

Я тоже пробовал setxkbmap -v us -variant dvorak, который, казалось, работал.

Что случилось? Colemak поставляется с Ubuntu, и я могу увидеть раздел для него в /usr/share/X11/xkb/symbols/us, где расположение определено, я полагаю.

2 ответа

Решение

Моя ошибка заключалась в предположении, что важными были раскладки клавиатуры в vm (/usr/share/X11/xkb/symbols/).

На самом деле, при использовании x-forwarding важны раскладки клавиатуры, определенные на моем x-сервере, xming (C:\Program Files (x86)\Xming\xkb\ символы), и colemak по умолчанию не включается в xming. Я смог просто скачать определение Colemak и поместить его в папку с символами xming; тогда это работает как ожидалось.

Странно, я могу правильно переключиться на colemak с вашей командой:

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

но я не могу, если я попытаюсь сохранить свой итальянский вариант:

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

Я бы предложил вам эту статью, но, учитывая, что у вас не установлен менеджер рабочего стола, он будет довольно бесполезен.

Тем не менее, мотивация должна быть такой:

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

Я могу выбрать colemak расположение среди gb, lv, ph а также us только языки. У вас должна быть похожая проблема.

В конце истории вы можете сделать две вещи: выбрать colemak для языка, близкого к us что вы установили (например, uk или же gb) или попробуйте установить colemak Поддержка для us язык через командную строку (я действительно не знаю, как, извините).

Другие вопросы по тегам