Как добавить и переключать раскладки клавиатуры в Linux

Важно: setxkbmap меняет раскладку только в текущей X-сессии и может быть отменён при перезагрузке. Для постоянного эффекта используйте localectl или конфигурационные файлы среды.
Зачем настраивать раскладки клавиатуры
Многие люди предпочитают работать на родном языке или используют нестандартные аппаратные раскладки. Правильная раскладка ускоряет набор, снижает количество ошибок и позволяет использовать специализированные символы. Понимание нескольких способов настройки даёт гибкость: быстрые временные правки для экспериментов и системные изменения для постоянной работы.
Кратко о терминологии:
- Раскладка — соответствие символов клавишам.
- Код раскладки — короткий идентификатор, например
usдля английской раскладки США,ruдля русской,inдля индийских локалей.
Использование команды setxkbmap
Команда setxkbmap полезна, если вы работаеете в X11 и комфортно с терминалом. Она мгновенно меняет раскладку для текущей X-сессии и часто используется на Raspberry Pi и других одноплатных компьютерах.
- Сначала получите список доступных раскладок:
localectl list-x11-keymap-layouts
- Выберите код нужной раскладки и примените его:
setxkbmap codeПример: чтобы переключиться на хинди (Индия), выполните:
setxkbmap inЕсли вы не уверены, какая раскладка была до изменений, скопируйте команду для возврата, например setxkbmap us для en_US.
Советы и нюансы:
- setxkbmap изменяет настройки только для текущего графического сеанса (X11). При выходе или перезагрузке изменения теряются.
- Для Wayland некоторые окружения не поддерживают setxkbmap напрямую; используйте системные настройки окружения или специализированные утилиты.
Постоянная настройка через localectl и systemd
Если ваша система использует systemd, localectl позволяет задать системную раскладку для консоли и графики.
Пример установки языка и раскладки:
localectl set-x11-keymap us pc104Для установки двух раскладок и порядка переключения вы можете редактировать конфигурацию X11 или использовать параметры среды рабочего стола. На серверах и внедрениях рекомендуется использовать localectl или файл конфигурации /etc/X11/xorg.conf.d/00-keyboard.conf.
Пример содержимого файла /etc/X11/xorg.conf.d/00-keyboard.conf:
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSectionПосле сохранения перезагрузите X или сеанс графического окружения.
Графическая настройка для популярных окружений рабочего стола
Ниже приведены пошаговые инструкции для основных окружений. Сохранены оригинальные названия кнопок и вкладок, где это важно.
GNOME
- Нажмите клавишу Super и найдите Settings.
- Откройте Settings и выберите вкладку Keyboard в левой панели.
- В разделе Input Sources нажмите Plus (+).
- Через меню с тремя точками выберите Other, найдите нужную раскладку и нажмите Add.

Переключение доступно из системного трея или сочетанием клавиш, если оно назначено.
KDE Plasma
- Откройте System Settings.
- Выберите Input Devices, затем вкладку Layouts под Keyboard.
- Включите Configure layouts и нажмите Add.
- Выберите раскладку, при желании задайте сочетание клавиш и нажмите Apply.

Cinnamon
- Откройте Keyboard settings через меню приложений или нажмите Super.
- Перейдите на вкладку Layouts и нажмите Plus (+).
- Выберите нужную раскладку и Add.
В Cinnamon сочетания для переключения по умолчанию: Super + Space для следующей и Shift + Super + Space для предыдущей.

LXDE
В LXDE добавление раскладок не интуитивно:
- Правый клик на нижней панели > Add / Remove Panel Items > Add > Keyboard Layout Handler > Add.
- Закройте окно настроек панели.
- В системном трее появится иконка Keyboard Layout Handler. Правый клик по ней > “Keyboard Layout Handler” Settings.
- Снимите флажок Keep system layouts.
- В разделе Keyboard Layouts нажмите Add и выберите раскладки.
По умолчанию для переключения используется Shift + Caps Lock, но это можно изменить.

XFCE
- Откройте Settings > Keyboard.
- Перейдите на вкладку Layout.
- Отключите Use system defaults.
- Нажмите Add и выберите раскладки.
- Задайте сочетание клавиш в Change Layout option.

MATE
- System > Preferences > Hardware > Keyboard.
- Вкладка Layouts > Add.
- Выберите Country и Variants или используйте By language.
- Для сочетаний: Options > Switching to another layout.

Enlightenment
- Щёлкните правой кнопкой по опции Keyboard Layout в системном трее.
- Выберите Keyboard > Settings.
- Нажмите Add и выберите раскладку.
- Для назначения сочетаний нажмите Plus под Switch Layout и задайте комбинацию.

Альтернативные подходы и подсистемы ввода
Если вы работаете с языками, требующими сложной трансформации или IME (input method), рассмотрите:
- ibus — популярный менеджер ввода для многих языков; интегрируется в GNOME и другие окружения.
- fcitx — часто используется для азиатских языков (китайский, японский, корейский).
- xkb — низкоуровневая система раскладок; используется для точной настройки клавиш и комбинаций.
Когда использовать альтернативы:
- Для сложных методов ввода или множественных наборов символов используйте ibus/fcitx.
- Для простой смены языков и переключения используйте setxkbmap/localectl или настройки окружения.
Wayland и совместимость
Wayland по-разному поддерживается разными окружениями. Многие GUI-инструменты управляют раскладкой сами, и setxkbmap может не повлиять на сеанс Wayland. В Wayland используйте встроенные настройки окружения или переменные конфигурации, предоставляемые compositor-ом (например, GNOME Shell, Sway).
Рекомендация:
- Для Wayland настраивайте раскладки через настройки рабочего стола.
- На Sway используйте секцию
inputв конфиге sway (~/.config/sway/config).
Что делать, если что-то пошло не так
Общие проблемы и решения:
- После применения setxkbmap клавиши работают неправильно — верните прежнюю раскладку командой, которую вы сохранили заранее.
- Раскладка не сохраняется после перезагрузки — используйте localectl или файл в /etc/X11/xorg.conf.d/.
- setxkbmap не работает в Wayland — настройте раскладку через GUI окружения.
- Особые символы не отображаются в приложениях — проверьте кодировку и шрифты.
Критерии приёмки
- Пользователь может добавить минимум две раскладки и переключаться между ними сочетанием клавиш.
- Переключение работает в текстовых полях, терминале и приложениях.
- После перезагрузки поведение соответствует ожиданиям: временное изменение остаётся временным, системная настройка остаётся постоянной.
Пошаговый план действий для администратора (SOP)
- Определите требования: какие языки и какие пользователи.
- Если необходимо системное решение, используйте
localectlили создайте файл/etc/X11/xorg.conf.d/00-keyboard.conf. - Для развертывания на массовых рабочих местах подготовьте конфигурационный шаблон и примените его через конфигурационный менеджер (Ansible, Puppet).
- Документируйте сочетания клавиш и инструкции для конечных пользователей.
- Тестируйте на одной тестовой машине перед массовым развёртыванием.
Быстрая шпаргалка и команды
- Просмотреть доступные раскладки:
localectl list-x11-keymap-layouts- Временно поменять раскладку в X11:
setxkbmap ru- Установить системную раскладку через systemd:
localectl set-x11-keymap ru- Пример файла для постоянной настройки X11:
/etc/X11/xorg.conf.d/00-keyboard.conf(см. выше).
Справочные руководства и тесты приёмки
Тесты для проверки корректности:
- Переключение раскладок работает во всех открытых окнах.
- Сочетания клавиш переключают раскладки без конфликтов с глобальными горячими клавишами.
- При вводе специальных символов в текстовом редакторе символы соответствуют ожидаемым.
Чек-листы по ролям
Администратор:
- Подготовить конфигурационный файл или команду localectl.
- Протестировать на чистой установке.
- Документировать rollback-процедуру.
Обычный пользователь:
- Добавить нужную раскладку через настройки рабочего стола или вызвать setxkbmap.
- Назначить удобное сочетание клавиш для переключения.
- Сохранить команду для возврата в заметках.
Техподдержка:
- Провести проверку сессии пользователя (X11/Wayland).
- Проверить логи окружения и Xorg/Wayland compositor.
Ментальные модели и лайфхаки
- Временный vs постоянный: setxkbmap — временно, localectl/конфиг — навсегда.
- X11 против Wayland: X11 обычно допускает утилиты уровня X, для Wayland используйте GUI окружения или конфиг compositor.
- IME для азиатских языков: используйте ibus или fcitx, а не простую смену раскладки.
Decision flowchart
flowchart TD
A[Нужно быстро переключить раскладку?] -->|Да| B[Использовать setxkbmap]
A -->|Нет, нужно постоянно| C[Использовать localectl или файл /etc/X11/...]
B --> D{Система использует Wayland?}
D -->|Да| E[Настроить через GUI окружения]
D -->|Нет| F[setxkbmap применён]
C --> G{Множественные пользователи?}
G -->|Да| H[Автоматизировать через конфигурационный менеджер]
G -->|Нет| I[Изменение на локальной машине]Шаблон для массового развертывания (пример)
- Цель: добавить раскладки
usиruдля всех рабочих мест. - Действия:
- Поместить файл
/etc/X11/xorg.conf.d/00-keyboard.confс содержимым:
- Поместить файл
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection- Перезагрузить X или систему.
- Проверить переключение и наличие в системном трее.
Когда такой подход не сработает
- Если система полностью использует Wayland и окружение не учитывает конфигурации X11 — используйте встроенные настройки окружения.
- Если требуется сложный ввод символов (комплексные IME) — смена раскладки недостаточна, нужен ibus/fcitx.
Короткая галерея крайних случаев
- Аппаратная клавиатура с нестандартной раскладкой — иногда требуется правка xkb-таблиц вручную.
- Удалённый сервер без графики — локальная смена раскладки здесь не применима; настройте консольную раскладку через
loadkeys.
Краткий словарь терминов
- Раскладка — набор символов, сопоставляемых клавишам.
- X11 — традиционный графический сервер для Linux.
- Wayland — современная альтернатива X11.
- IME — input method editor, метод ввода для сложных языков.
Резюме
- Для временной смены в X11 используйте setxkbmap.
- Для постоянных системных изменений используйте localectl или конфигурационные файлы X11.
- В Wayland полагайтесь на настройки окружения или compositor.
- Для сложных языков используйте ibus или fcitx.
FAQ
Как вернуть прежнюю раскладку, если всё изменилось?
- Выполните команду
setxkbmap <код>с кодом прежней раскладки или восстановите файл конфигурации.
- Выполните команду
Работает ли setxkbmap в Wayland?
- В большинстве случаев нет. Используйте настройки окружения или compositor.
Как сделать так, чтобы раскладки автоматически применялись после перезагрузки?
- Используйте
localectlдля systemd или добавьте файл в/etc/X11/xorg.conf.d/.
- Используйте
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента