Der zugrunde liegende Befehl zum Einstellen der Tastatur lautet: setxkbmap
Wenn Sie sich nun die Handbuchseiten ansehen, wird anscheinend die Tastaturspezifikation gelesen /usr/share/X11/xkb/
, sodass Sie Ihr geändertes Layout dort schreiben müssen. Systemverzeichnis, Root-Zugriff erforderlich.
ABER
Ich habe es versucht:
strace setxkbmap nonexistant |& grep open
um zu sehen, was der Befehl tut, und um zu schauen: (Teilausgabe)
open("/run/user/1153/gdm/Xauthority", O_RDONLY) = 4
open("./rules/evdev-C.lst", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./rules/evdev.lst", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/X11/xkb/rules/evdev-C.lst", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/X11/xkb/rules/evdev.lst", O_RDONLY) = 4
Es scheint also, dass setxkbmap
auch im aktuellen Verzeichnis nach der Dateispezifikation gesucht wird. Vielleicht (ich habe keine Zeit zum Testen), wenn Sie beispielsweise die gesamte relevante Verzeichnisstruktur von /usr/share/X11/xkb/
in kopieren $HOME/myxkb
und dann versuchen, den Befehl auszugeben
setxbmap -model pc105 -layout myshiny -variant myvariant
oder was auch immer es funktionieren mag .
PD: Die Arch-Hilfeseiten sind wie immer nützlich . Ein netter Befehl, mit dem Sie sehen können, woraus die von Ihnen verwendete Tastatur besteht, ist folgender:
[romano:~] % setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: es,us
variant: standard_tlde,
options: caps:none,compose:caps,terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+es(standard_tlde)+us:2+inet(evdev)+capslock(none)+compose(caps)+terminate(ctrl_alt_bksp)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+es(standard_tlde)+us:2+inet(evdev)+capslock(none)+compose(caps)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};
.lst
Datei explizit auf, aber nicht hier - nach einigen Tests scheint diesevdev-local.lst
tatsächlich notwendig zu seinsetxkbmap
(obwohl diesevdev-local.xml
anscheinend nicht der Fall ist) -, daher würde ich vorschlagen, sie hier zum Baum hinzuzufügen. für den Fall, dass jemand Ihre oben genannte andere Antwort nicht liest. Übrigens ist die andere Antwort wirklich erstaunlich umfassend!