Создайте дерево каталогов в /home/<user>/
с той же структурой, что и /usr/share/X11/xkb/
. Другими словами:
$ tree -L 1
.
├── compat
├── geometry
├── keycodes
├── rules
├── symbols
└── types
Так что поместите соответствующие файлы в compat
, symbols
и т. д. Вам, очевидно, не нужно создавать пустые каталоги, просто каталоги для нужных вам файлов.
Затем рассмотрите возможность переименования файла символов во что-то отличное от us
. Может быть способ устранить неоднозначность вашего собственного файла символов us
из файла под /usr/share/X11/xkb/
, но проще просто выбрать новое имя, которое не появляется в /usr/share/X11/xkb/symbols/
. mine
подойдет.
Допустим, вы поместили свой пользовательский каталог Xkb в /home/<user>/my-xkb
и что ваш файл пользовательских символов называется mine
.
Если вы используете setxkbmap(1)
для установки своего макета, вам просто нужно изменить его, чтобы распечатать вывод и передать его на xkbcomp(1)
. Итак, если это ваш setxkbmap
призыв:
setxkbmap mine
Вам нужно изменить его на это:
setxkbmap mine -print |
xkbcomp -I"/home/<user>/my-xkb" - "$DISPLAY"
Вы можете попробовать что-то вроде
$ xargs -a list.txt -I myfilename find. -name myfilename -exec sed 1,7d '{}' \;
myfilename
именем файла, прочитанным в команде поиска