Кратко: ниже — полная, профессионально оформленная инструкция по настройке раскладок и переключения Alt+Shift в Xorg на CentOS/RHEL и совместимых системах, с разбором всех методов, приоритетов, отладки, автоматизации и нюансов окружений рабочего стола. Материал структурирован по методам, снабжен перекрестными ссылками (§) и глоссарием терминов для быстрой навигации и точной практической настройки.
Полная настройка Xorg: Alt+Shift, раскладки и LED-индикация
См. быстрый старт в §2, системный метод через localectl в §3, классическую конфигурацию Xorg в §4, сессионный метод setxkbmap в §5, а также справочник XKB-опций (grp:* и grp_led:*) в §9.
- Полная настройка Xorg: Alt+Shift, раскладки и LED-индикация
- 1. Введение и основы
- 2. Быстрый старт (готовые рецепты)
- 3. Метод 1. Настройка через localectl (system-wide)
- 4. Метод 2. Чистый Xorg: /etc/X11/xorg.conf.d
- 5. Метод 3. Сессионный setxkbmap
- 6. Окружения рабочего стола и ввода (GNOME, Plasma, IBus/Fcitx)
- 7. Консоль (не Xorg): vconsole, loadkeys
- 8. Отладка и верификация
- 9. Справочник XKB-опций: переключение и LED
- 10. Примеры жизненных конфигураций
- 11. FAQ и типовые ситуации
- 12. Автоматизация и управление конфигурацией
- 13. Приложения и справочники
- 14. Глоссарий терминов
1. Введение и основы
1.1. Что настраивается
Настраивается подсистема XKB: модель клавиатуры, раскладки, варианты и XKB-опции, включая переключение групп по Alt+Shift и индикацию активной группы светодиодами клавиатуры (§9) (см. термины «XKB», «Группа раскладки» в §14).
1.2. Где хранятся настройки
Настройки задаются: системно через инструмент управления локалью/клавиатурой (§3), напрямую в Xorg-конфигурации (§4), либо на уровне текущей X-сессии (§5). Окружения рабочего стола и фреймворки ввода могут переопределять XKB (§6).
1.3. Приоритеты и конфликтующие источники
Приоритет определяется тем, кто последний применил настройки в текущем сеансе: GUI-апплеты и IBus/Fcitx способны перекрыть системные файлы Xorg (§6). Для предсказуемости важно отключить дублирующие механизмы переключения или согласовать их.
1.4. Нотация и формат значений
- XkbModel: например, pc105 (ISO), pc104 (ANSI).
- XkbLayout: список через запятую, напр. us,ru.
- XkbVariant: список вариантов для каждой раскладки; пустой элемент для значения по умолчанию сохраняя запятую, напр. ,winkeys.
- XkbOptions: список опций, напр. grp:alt_shift_toggle,grp_led:scroll (§9).
2. Быстрый старт (готовые рецепты)
2.1. Alt+Shift и LED Scroll Lock: системно (localectl)
Применение параметров на уровне всей системы с генерацией корректного Xorg-конфига:
textsudo localectl --no-convert set-x11-keymap us,ru pc105 ,winkeys grp:alt_shift_toggle,grp_led:scrollПосле выхода/входа в сессию Xorg или перезапуска X настроек достаточно; см. детали и откат в §3.2-§3.4.
2.2. Alt+Shift и LED Scroll Lock: через Xorg (xorg.conf.d)
Создание явного конфига Xorg:
text# /etc/X11/xorg.conf.d/00-keyboard.confSection "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"EndSectionПрименение после перезапуска X-сервера/сеанса; см. §4.1-§4.5.
2.3. Alt+Shift и LED Scroll Lock: только на текущую сессию (setxkbmap)
Быстрое применение без перезагрузки:
textsetxkbmap -model pc105 -layout us,ru -variant ,winkeys -option "" -option grp:alt_shift_toggle,grp_led:scrollСброс прежних опций обеспечивается первым «-option «»»; детали в §5.2-§5.3.
3. Метод 1. Настройка через localectl (system-wide)
Содержание раздела:
- 3.1. Когда применять и плюсы/минусы
- 3.2. Команды и синтаксис
- 3.3. Создаваемые файлы и их роль
- 3.4. Проверка результата и откат
- 3.5. Особенности CentOS/RHEL разных версий
3.1. Когда применять и плюсы/минусы
Рекомендуется как дефолтный системный способ: минимизирует ручные ошибки, поддерживает единый источник правды и корректно формирует /etc/X11/xorg.conf.d/00-keyboard.conf (§4.1). Минусы: настройки GUI/IBus могут поверх изменять поведение (§6).
3.2. Команды и синтаксис
Базовый шаблон:
textlocalectl [--no-convert] set-x11-keymap <layouts> [model] [variant] [options]- Пропуски заполняются пустой строкой «», чтобы указать последующие поля (например, ,winkeys).
- —no-convert предотвращает попытку преобразовывать X-комбинации в консольный keymap (§7).
Пример Alt+Shift и LED Scroll Lock: см. §2.1.
3.3. Создаваемые файлы и их роль
- /etc/X11/xorg.conf.d/00-keyboard.conf — целевой файл для Xorg; правки вручную нежелательны, иначе при следующем запуске команд конфигурации они будут перезаписаны (§4.1).
- /etc/vconsole.conf — консольные параметры (Xorg их не читает напрямую; для GUI важен 00-keyboard.conf) (§7.2).
3.4. Проверка результата и откат
- Просмотр: setxkbmap -print -verbose 10 (§8.1).
- Откат: повторный вызов localectl с новыми параметрами или удаление 00-keyboard.conf и перезапуск X (см. §4.4).
3.5. Особенности CentOS/RHEL разных версий
На более старых системах (например, CentOS 7) Xorg используется по умолчанию; на новых (RHEL 8/9) окружение GNOME может запускаться на Wayland — XKB в X-смысле тогда не влияет на чистые Wayland-приложения; см. рекомендации в §6.3.
4. Метод 2. Чистый Xorg: /etc/X11/xorg.conf.d
Содержание раздела:
- 4.1. Современный стиль: Section «InputClass»
- 4.2. Классический стиль: Section «InputDevice» (устаревающий)
- 4.3. Структура и валидность значений
- 4.4. Перезапуск X-сервера и порядок чтения конфигов
- 4.5. Лучшие практики и диагностика
4.1. Современный стиль: Section «InputClass»
Рекомендуемый формат под драйверы evdev/libinput:
textSection "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"EndSectionФайл: /etc/X11/xorg.conf.d/00-keyboard.conf; виден всему Xorg и всем пользователям.
4.2. Классический стиль: Section «InputDevice» (устаревающий)
Применим в монолитном /etc/X11/xorg.conf (не рекомендуется к новым внедрениям):
textSection "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"EndSectionПри наличии — поддерживается, но сложнее для сопровождения; предпочтителен §4.1.
4.3. Структура и валидность значений
- Число вариантов XkbVariant должно соответствовать числу раскладок XkbLayout; для дефолта используется пустой элемент (например, ,winkeys).
- Модель pc104/pc105 — безопасная база; для ноутбуков модель иногда влияет на специальные клавиши.
4.4. Перезапуск X-сервера и порядок чтения конфигов
Xorg перечитывает конфиги при старте; для применения изменений необходим выход/вход в X-сессию или перезапуск дисплей-менеджера. Имейте в виду порядок обработки файлов в xorg.conf.d по лексикографическому имени.
4.5. Лучшие практики и диагностика
- Один «опорный» файл 00-keyboard.conf на систему.
- Исключить дубли в других 0x-keyboard.conf и в DE/IBus (§6).
- Проверять фактическое состояние через §8.1.
5. Метод 3. Сессионный setxkbmap
Содержание раздела:
- 5.1. Когда уместно и область действия
- 5.2. Полезные команды и шаблоны
- 5.3. Сброс опций и idempotency
- 5.4. Автозапуск в xinitrc/xprofile/WM
5.1. Когда уместно и область действия
Идеален для временных изменений, профилирования настроек и теста без прав root. Действует до завершения текущей X-сессии.
5.2. Полезные команды и шаблоны
- Базовая установка: text
setxkbmap -layout us,ru -option grp:alt_shift_toggle - Полный контроль с моделями/вариантами: text
setxkbmap -model pc105 -layout us,ru -variant ,winkeys -option grp:alt_shift_toggle,grp_led:scroll
5.3. Сброс опций и idempotency
По умолчанию setxkbmap добавляет опции к существующим; для чистой переустановки сначала сбросить:
textsetxkbmap -option ""setxkbmap -model pc105 -layout us,ru -variant ,winkeys -option grp:alt_shift_toggle,grp_led:scroll5.4. Автозапуск в xinitrc/xprofile/WM
Для постоянства на уровне пользователя добавить команду в ~/.xinitrc, ~/.xprofile или автозапуск оконного менеджера/DE, учитывая §6, чтобы избежать конфликтов.
6. Окружения рабочего стола и ввода (GNOME, Plasma, IBus/Fcitx)
Содержание раздела:
- 6.1. Где включается и как переопределяет XKB
- 6.2. Рекомендации по совмещению с §3-§5
- 6.3. Wayland vs Xorg: что важно знать
6.1. Где включается и как переопределяет XKB
GNOME, KDE Plasma и сторонние фреймворки ввода (IBus/Fcitx) умеют управлять раскладками и переключением сами, перезаписывая XKB на уровне сессии. Именно поэтому настройки §3-§5 могут «не работать» видимо, хотя системные файлы корректны.
6.2. Рекомендации по совмещению
- Определиться с единым источником: либо GUI-инструменты, либо XKB (§3/§4/§5).
- В IBus включать режим «Использовать системную раскладку» или вручную указать раскладки в самом IBus.
- В DE отключить альтернативные переключатели, если используется XKB (§9).
6.3. Wayland vs Xorg
Под Wayland конфигурация раскладок управляется композитором/DE; Xorg-конфиги (§4) не влияют на нативные Wayland-клиенты. На системах RHEL 8+/GNOME по умолчанию может быть Wayland; для предсказуемости использовать настройки DE или запускать Xorg-сессию.
7. Консоль (не Xorg): vconsole, loadkeys
Содержание раздела:
- 7.1. Ограничения и границы применения
- 7.2. /etc/vconsole.conf и постоянство
- 7.3. Быстрое переключение с loadkeys
7.1. Ограничения
Консольный keymap не влияет на Xorg/Wayland GUI. Это отдельный контур настройки.
7.2. /etc/vconsole.conf
Параметры XKBLAYOUT/XKBMODEL/XKBVARIANT/XKBOPTIONS могут быть записаны инструментами конфигурации, но Xorg ими не пользуется напрямую; для GUI обязателен 00-keyboard.conf (§3.3).
7.3. Быстрое переключение
В консоли используется loadkeys и готовые keymap-файлы. Для унификации поведения во всех средах предпочтительнее единая XKB-стратегия в GUI (§3-§6).
8. Отладка и верификация
Содержание раздела:
- 8.1. Просмотр активной конфигурации XKB
- 8.2. Проверка файлов и корректности вариантов
- 8.3. Типовые ошибки и их устранение
8.1. Просмотр активной конфигурации XKB
textsetxkbmap -print -verbose 10Команда показывает фактически примененные компоненты (model/layout/variant/options).
8.2. Проверка файлов и корректности вариантов
- Убедиться, что число вариантов соответствует числу раскладок (§4.3).
- Проверить отсутствие дублирующих конфигов, переопределений DE/IBus (§6.1).
- Проверить порядок чтения файлов в xorg.conf.d (§4.4).
8.3. Типовые ошибки
- Отсутствие пустого варианта «,» для первой раскладки.
- Одновременное управление раскладками XKB и DE/IBus.
- Устаревший драйвер «kbd» в §4.2 при современных сборках — лучше §4.1.
9. Справочник XKB-опций: переключение и LED
Содержание раздела:
- 9.1. Переключение групп (grp:*)
- 9.2. Индикация групп LED (grp_led:*)
- 9.3. Замечания по совместимости
9.1. Переключение групп (grp:*)
- grp:toggle — правый Alt (переключение)
- grp:shifts_toggle — обе Shift вместе
- grp:ctrl_shift_toggle — Ctrl+Shift
- grp:alt_shift_toggle — Alt+Shift
- grp:ctrl_alt_toggle — Ctrl+Alt
- grp:caps_toggle — Caps Lock
- grp:lwin_toggle — левая Win
- grp:rwin_toggle — правая Win
- grp:menu_toggle — клавиша Menu
- grp:lctrl_toggle — левый Ctrl
- grp:rctrl_toggle — правый Ctrl
- grp:switch — правый Alt, только пока зажат
- grp:lwin_switch — левая Win, только пока зажата
- grp:rwin_switch — правая Win, только пока зажата
- grp:win_switch — любая Win, только пока зажата
9.2. Индикация групп LED (grp_led:*)
- grp_led — использовать индикаторы клавиатуры для отображения группы
- grp_led:num — Num Lock как индикатор группы
- grp_led:caps — Caps Lock как индикатор группы
- grp_led:scroll — Scroll Lock как индикатор группы
9.3. Замечания по совместимости
Поведение LED зависит от прошивки клавиатуры и драйвера; не все устройства аппаратно отображают альтернативные состояния предсказуемо. При проблемах тестировать альтернативные индикаторы (num/caps/scroll).
10. Примеры жизненных конфигураций
10.1. US+RU, Alt+Shift, ScrollLock LED
- Xorg (рекомендуемый современный): см. §2.2.
- localectl (system-wide): см. §2.1.
- setxkbmap (сессия): см. §2.3.
10.2. US+RU, Ctrl+Shift, CapsLock LED
- XKB options: grp:ctrl_shift_toggle,grp_led:caps.
- Подстановка в шаблоны §2.1-§2.3.
10.3. Три раскладки, разные варианты и win_switch
- Пример: us,ru,us с вариантами ,winkeys,dvorak и временным переключателем по любой Win: text
setxkbmap -model pc105 -layout us,ru,us -variant ,winkeys,dvorak \ -option "" -option grp:win_switch
11. FAQ и типовые ситуации
11.1. Не работает Alt+Shift
- Проверить, что DE/IBus не переопределяет XKB (§6.1).
- Убедиться в валидности XkbOptions и отсутствии конфиг-дублей (§4.5, §8.2).
- Переприменить через setxkbmap для диагностики (§5.2).
11.2. LED не меняется
- Заменить grp_led:scroll на grp_led:num или grp_led:caps (§9.2).
- Проверить, что клавиатура аппаратно отражает смену LED.
- Исключить параллельное управление LED со стороны DE.
11.3. GNOME/IBus «перетирает» XKB
- Включить «использовать системную раскладку» или настроить раскладки в самом IBus (§6.2).
- Либо отключить GUI-переключатели и оставить XKB единственным источником.
11.4. Разные ноутбуки и модели клавиатур
- Начать с pc105 и при необходимости подобрать модель под дополнительные клавиши (§4.3).
- Проверять фактическое состояние через §8.1.
12. Автоматизация и управление конфигурацией
12.1. Скрипты и Ansible
- Идемпотентность: при использовании setxkbmap сначала сбрасывать опции («-option «»»), затем задавать нужные (§5.3).
- Для system-wide применять localectl с фиксированными параметрами (§3.2) в тасках конфигурации.
12.2. Политики в многопользовательских системах
- Централизовать Xorg-конфиг в /etc/X11/xorg.conf.d (§4.1).
- В профилях пользователей отключить альтернативные DE-переключатели, чтобы избежать дрейфа настроек (§6.2).
13. Приложения и справочники
13.1. Структура путей и файлов XKB
- /etc/X11/xorg.conf.d/00-keyboard.conf — системный Xorg-конфиг ввода (§3-§4).
- /etc/X11/xorg.conf — монолитный конфиг (устаревающий стиль) (§4.2).
- /usr/share/X11/xkb/rules/base.lst или xorg.lst — список моделей/раскладок/вариантов/опций XKB (в разных дистрибутивах имя может отличаться).
- /etc/vconsole.conf — консольная раскладка (§7.2).
13.2. Быстрая памятка по командам
- Просмотр активной конфигурации: text
setxkbmap -print -verbose 10 - Установка системно: text
sudo localectl --no-convert set-x11-keymap us,ru pc105 ,winkeys grp:alt_shift_toggle,grp_led:scroll - Установка на сессию и сброс: text
setxkbmap -option "" setxkbmap -model pc105 -layout us,ru -variant ,winkeys -option grp:alt_shift_toggle,grp_led:scroll
13.3. Чек-лист внедрения
- Определить метод (system-wide §3, Xorg §4, session §5) и отключить конкурирующие механизмы (§6).
- Применить настройки и перезапустить X-сеанс при необходимости (§4.4).
- Провести верификацию и фиксацию в CM-системе (§8, §12.1).
14. Глоссарий терминов
- XKB (X Keyboard Extension) — расширение X-сервера для абстракции раскладок, вариантов и опций клавиатуры; основа всех методов в статье (§1.1, §3-§5).
- Группа раскладки — активная раскладка из списка XkbLayout (например, us или ru); переключение между группами настраивается через grp:* (§1.1, §9.1).
- XkbModel — модель клавиатуры, влияющая на набор доступных скан-кодов/клавиш; базовые безопасные — pc104/pc105 (§1.4, §4.3).
- XkbLayout — список раскладок (ccTLD/код), например us,ru; порядок определяет цикл переключения (§1.4, §4.3).
- XkbVariant — вариант каждой раскладки, выровненный по позициям; пустая строка означает вариант по умолчанию (§1.4, §4.3).
- XkbOptions — список опций, управляющих переключением/LED/compose и пр.; примеры grp:* и grp_led:* (§1.4, §9).
- localectl — системная утилита управления раскладками для Xorg и консоли, формирует 00-keyboard.conf (§3).
- setxkbmap — утилита для установки XKB в рамках текущей X-сессии; не требует root (§5).
- xorg.conf.d — каталог фрагментов конфигурации Xorg, применяемых при старте X-сервера (§4).
- IBus/Fcitx — фреймворки ввода, которые могут переопределять XKB на уровне сессии; важны при GNOME/Plasma (§6).
- Wayland — протокол отрисовки, где раскладки чаще управляются композитором/DE; Xorg-конфиги не влияют непосредственно (§6.3).
- LED-индикация группы — отображение активной раскладки аппаратным индикатором (Num/Caps/Scroll) через grp_led:* (§9.2).
Примечание: при необходимости будут добавлены внешние источники и ссылки, однако в текущей редакции статья составлена как практическая инструкция с самодостаточными пояснениями и перекрестными ссылками на разделы и термины.
- https://wiki.archlinux.org/title/Xorg/Keyboard_configuration
- https://forums.freebsd.org/threads/permanent-xorg-keyboard-layout-xkb-configuration.93093/
- https://linuxconfig.org/how-to-change-system-keyboard-keymap-layout-on-centos-7-linux
- https://www.baeldung.com/linux/console-change-keyboard-layout
- https://www.reddit.com/r/Gentoo/comments/kvkf9o/how_to_change_the_xorg_keyboard_layout/
- https://wiki.archlinux.org/title/Xorg_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Keyboard_configuration_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)