У меня настроена переадресация 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
, где, как я полагаю, определен макет.
Странно, я могу правильно переключиться на 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
через командную строку (извините, я действительно не знаю, как).
Моя ошибка заключалась в том, что важные раскладки клавиатуры были в vm (/usr/share/X11/xkb/symbols/).
На самом деле, при использовании x-forwarding важны раскладки клавиатуры, определенные на моем x-сервере, xming (C: \ Program Files (x86) \ Xming \ xkb \ символы), и colemak не включается в xming дефолт. Я смог просто скачать определение Colemak и поместить его в папку с символами xming; тогда это работает как ожидалось.