Вопрос Ошибка установки макета 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, где я предполагаю, что макет определен.


4
2017-09-24 22:26


происхождения




ответы:


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

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


3
2017-10-09 17:30



... несколько лет спустя: какое определение вы загрузили, если вы все еще помните? :) - ezuk
Макет доступен по адресу colemak.com/Unix - Gabe Moothart
Спасибо, Гейб! Я с тех пор нашел это. Я на самом деле схватил один из большой темы форума DreymaR с трюками, так как это дало мне полный каталог и заставил его работать. - ezuk


Странно, я могу правильно переключиться на 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 язык через командную строку (я действительно не знаю, как, извините).


1
2017-10-05 16:54



Благодарю. Это не решило мою проблему, но она указала мне в правильном направлении. Похоже, что мой X-сервер (xming) нуждается в установке colemak, а не в vm. - Gabe Moothart
Когда вы говорите, что «вы можете использовать colemak только с некоторыми языками / языками», мне приходит в голову, что варианты и языковые настройки находятся в /usr/share/X11/xkb/rules/, в base.lst а также base.xml, Там вы можете найти весь список вариантов языков, возможно, вы можете настроить, какой язык может использовать colemak, Просто предположение, но очень возможно. - WesternGun
Фактически, я считаю, что xkb_symbols это название варианта некоторой раскладки клавиатуры под некоторым языком. Если вы изучите какой-либо файл, например es под /usr/share/X11/xkb/symbols, вы можете видеть, что первый из них является базой, с default в первой строке, xkb_symbols всегда basic, а другие не будут default в определении и xkb_symbols будут иметь разные имена. Итак, я думаю, вы можете загрузить раскладку с помощью setxkbmap xxx -variant colemak, До этого убедитесь, что файл карты клавиатуры us имеет раздел xkb_symbols "colemak" фактически данный. - WesternGun