Frage Fehler beim Setzen des kb-Layouts mit `setxkbmap`


Ich habe x11-Weiterleitung von einem Ubuntu 12.04 vm auf meinem (Windows) Laptop eingerichtet. Es funktioniert, aber wenn ich die weitergeleiteten Anwendungen eintippe, wird das QWERTY-Layout verwendet und ich möchte, dass es colemak verwendet.

Ich möchte eine Befehlszeilenlösung, da ich die GUI nicht in der VM installiert habe.

Ich habe versucht setxkbmap -v us -variant colemak, aber ich bekomme "Fehler beim Laden der neuen Tastaturbeschreibung":

$ 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

Ich habe es auch versucht setxkbmap -v us -variant dvorakDas schien zu funktionieren.

Was ist falsch? Colemak kommt mit ubuntu und ich kann einen Abschnitt dafür sehen /usr/share/X11/xkb/symbols/us, wo das Layout definiert ist, nehme ich an.


4
2017-09-24 22:26


Ursprung




Antworten:


Mein Fehler ging davon aus, dass die Tastaturlayouts, die wichtig waren, diejenigen in der VM waren (/ usr / share / X11 / xkb / symbols /).

Tatsächlich sind bei der Verwendung der x-Weiterleitung die Tastaturlayouts, die in meinem x-Server definiert sind, xming (C: \ Programme (x86) \ Xming \ xkb \ Symbole) wichtig und colemak ist nicht standardmäßig in xming enthalten. Ich konnte die Colemak-Definition einfach herunterladen und im Ordner xming symbols ablegen. dann funktioniert es wie erwartet.


3
2017-10-09 17:30



... ein paar Jahre später: Welche Definition hast du heruntergeladen, wenn du dich noch erinnerst? :) - ezuk
Das Layout ist verfügbar unter colemak.com/Unix - Gabe Moothart
Danke Gabe! Ich habe es seitdem gefunden. Ich habe mir eigentlich das aus DreymaRs großen Trick-Forum-Thema geschnappt, denn das hat mir das komplette Verzeichnis gebracht und es funktioniert. - ezuk


Es ist seltsam, ich kann richtig zu wechseln colemak mit deinem Befehl:

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

aber ich kann nicht, wenn ich versuche, meine italienische Variante zu behalten:

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

Ich würde es dir vorschlagen Dieser Artikel, aber da Sie keinen Desktop-Manager installiert haben, wird es ziemlich nutzlos sein.

Die Motivation sollte jedoch diese sein:

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

Ich kann wählen colemak Layout unter gb, lv, ph und us nur Sprachen. Sie sollten ein ähnliches Problem haben.

Am Ende der Geschichte können Sie zwei Dinge tun: Auswählen colemak für eine Sprache in der Nähe von us dass Sie installiert haben (z. uk oder gb), oder versuchen Sie es zu installieren colemak Unterstützung für us Sprache über die Befehlszeile (Ich weiß wirklich nicht, wie, tut mir leid).


1
2017-10-05 16:54



Vielen Dank. Das löste mein Problem nicht, aber es wies mich in die richtige Richtung. Sieht so aus, als ob mein X-Server (xming) colemak installiert hat und nicht die vm. - Gabe Moothart
Wenn Sie sagen, dass "Sie colemak nur mit einer Sprache / einem Gebietsschema verwenden können", fällt es mir ein, dass die Varianten- und Spracheinstellungen in gefunden werden /usr/share/X11/xkb/rules/, im base.lst und base.xml. Dort finden Sie die ganze Liste der Sprachvarianten, vielleicht können Sie auch einstellen, welche Sprache verwendet werden kann colemak. Nur eine Vermutung, aber sehr viel möglich. - WesternGun
Eigentlich finde ich das xkb_symbols ist der Name der Variante eines Tastaturlayouts unter einer Sprache. Wenn Sie eine Datei untersuchen, wie es unter /usr/share/X11/xkb/symbolsSie können sehen, dass der erste die Basis ist, mit default in der ersten Zeile, xkb_symbols ist immer basicund andere werden nicht haben default in der Definition und xkb_symbols wird verschiedene Namen haben. Also, ich denke, Sie können eine Tastaturbelegung mit laden setxkbmap xxx -variant colemak. Stellen Sie zuvor die Keymap-Datei sicher us hat einen Abschnitt von xkb_symbols "colemak" tatsächlich anwesend. - WesternGun