Изменить привязку клавиш xkb навсегда?

Да, это разрешено.

Статья в Википедии о shebang включает электронное письмо от Денниса Ритчи 1980 года, когда он представлял в ядре поддержку shebang (как часть более широкого пакета, называемого директивами интерпретатора ) в Версия 8 Unix (выделено мной):

Система была изменена так, что если исполняемый файл начинается с магических символов #! , остальная часть строки понимается как имя интерпретатора для исполняемого файла. […]

Чтобы воспользоваться этой замечательной возможностью, поместите

 #! / bin / sh 
 

на левом поле первой строки ваших сценариев оболочки. Пробелы после ! в порядке.

Итак, пробелы после шебанга существуют довольно давно, и действительно, в примере Денниса Ричи они используются.

Обратите внимание, что ранние версии Unix имели ограничение в 16 символов в этой строке интерпретатора, поэтому у вас не могло быть произвольного количества пробелов в ней. Это ограничение больше не действует в современных ядрах.

3
03.03.2019, 23:45
1 ответ

Создайте дерево каталогов в /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"
3
27.01.2020, 21:29

Теги

Похожие вопросы