console-setup
В Debian Linux и Debian FreeBSD дизайн предназначен для X-сервера и виртуальных терминалов ядра, чтобы совместно использовать один набор информации о конфигурации. Пакет console-setup
предоставляет инструменты и сценарии запуска, которые принимают конфигурацию клавиатуры / шрифта X-сервера, преобразуют ее и используют для настройки виртуальных терминалов ядра.
В частности: служба console-setup
вызывает команду setupcon --save
, которая генерирует сценарии в / etc / console-setup
, содержащие преобразованную клавиатуру. и инструкции по установке шрифтов, которые запускаются на виртуальных терминальных устройствах ядра по правилам udev. Раскладка клавиатуры преобразуется из формата XKB в loadkeys
с помощью ckbcomp
, а сгенерированный скрипт, вызванный из правила udev, запускает loadkeys
.
Итак, в Debian Linux и Debian FreeBSD вам необходимо убедиться, что ваши переменные XKBMODEL
, XKBLAYOUT
, XKBVARIANT
, XKBOPTIONS
указаны правильно. устанавливается в / etc / default / keyboard
. В частности, в вашем случае вам необходимо убедиться, что переменная XKBOPTIONS
имеет caps: swapescape
. Затем вам нужно убедиться, что у вас правильно установлен пакет console-setup
.
В операционных системах systemd все несколько менее интегрировано, чем в Debian. Есть файл конфигурации с именем /etc/vconsole.conf
и служба с именем systemd-vconsole-setup.service
, которая обрабатывает его при начальной загрузке системы (в ответ на правило udev, объявляющее о существовании подсистемы виртуального терминала ядра). Но это вообще не связано с конфигурацией X-сервера.
В файле vconsole.conf
есть параметр KEYMAP
, обозначающий раскладку клавиатуры, которая передается в loadkeys
, который, опять же, не нужно явно запускать самостоятельно. . Но остается полностью на ваше усмотрение , чтобы создать (настраиваемую) раскладку клавиатуры, которая меняет местами Caps Lock и Escape и помещает ее туда, где loadkeys
могу найти это.
Чтобы получить больше объединенных настроек, нужно задействовать еще две службы, systemd-localed
и шину рабочего стола.Один запускает, скажем,
localectl set-x11-keymap pl pc105 "" "caps:swapescape"
, и служба D-BUS локали переписывает Конечно, вы всегда можете в качестве альтернативы использовать Debian /etc/vconsole.conf
с наилучшим предположением о карте ближайшего эквивалента для виртуального терминала ядра. Этот ближайший эквивалент может не быть точно эквивалентом, однако вы можете обнаружить, что он просто игнорирует параметры и тому подобное.
ckbcomp
вручную для прямого преобразования раскладки клавиатуры XKB. ☺ Дополнительная литература
systemd-vconsole-setup-service
. справочные страницы systemd. Freedesktop.org. vconsole.conf
. справочные страницы systemd. Freedesktop.org. localectl
. справочные страницы systemd. Freedesktop.org.