Если после установки Linux или обновления системы клавиатура внезапно переключается на английскую раскладку, а комбинация Alt+Shift или Ctrl+Space не работает — проблема в настройках раскладок или конфликте конфигурационных файлов. Чаще всего это происходит из-за сброса параметров в X11 (графический сервер) или отсутствия правил для Wayland (современный протокол). В 80% случаев достаточно добавить язык через графический интерфейс или прописать раскладку вручную в /etc/default/keyboard, но есть и более быстрые способы — например, временное переключение через терминал командой setxkbmap.
В этой статье разберём все актуальные методы смены языка клавиатуры в Linux, включая решения для серверных версий без GUI, дистрибутивов с GNOME, KDE Plasma и Xfce, а также редкие случаи, когда раскладка сбрасывается после ребута. Особый акцент сделаем на диагностике проблем: почему не работает переключение раскладки через клавиатуру и как вернуть функциональность без переустановки системы.
1. Быстрое переключение раскладки через горячие клавиши
Самый универсальный способ — использовать стандартные комбинации клавиш, которые работают в большинстве дистрибутивов Linux. По умолчанию это:
- 🔹
Alt+Shift(левый или правый) — классическая комбинация для X11; - 🔹
Super+Space(клавиша Windows + пробел) — популярно в GNOME и Ubuntu; - 🔹
Ctrl+Shift— альтернативный вариант для KDE Plasma; - 🔹
Caps Lockкак переключатель — требует дополнительной настройки.
Если комбинации не работают, проверьте:
- Активирована ли раскладка в настройках системы (см. раздел 2).
- Не конфликтует ли сочетание с другими программами (например, AutoKey или IBus).
- Не используется ли
WaylandвместоX11(вWaylandгорячие клавиши настраиваются иначе).
Чтобы временно сменить раскладку через терминал (например, если GUI не отвечает), выполните:
setxkbmap ru # для русской раскладки
setxkbmap us # для английской раскладки
Эта команда действует до перезагрузки. Для постоянного изменения читайте раздел 4.
2. Настройка раскладки через графический интерфейс (GUI)
В большинстве дистрибутивов Linux (Ubuntu, Mint, Fedora) смена языка клавиатуры выполняется через системные настройки. Инструкция для GNOME (используется в Ubuntu 22.04+):
- Откройте Параметры системы → Клавиатура.
- Перейдите на вкладку Раскладка клавиатуры.
- Нажмите Добавить раскладку и выберите нужный язык (например, Russian).
- Установите порядок переключения (перетащите языки мышью).
- Настройте Сочетание клавиш для переключения (по умолчанию —
Super+Space).
Для KDE Plasma (используется в Kubuntu, Manjaro KDE):
- Откройте Системные настройки → Ввод/вывод → Клавиатура.
- На вкладке Раскладки нажмите Добавить и выберите язык.
- Активируйте опцию Показывать флаг страны (опционально).
- Настройте переключение в разделе Дополнительно → Переключать раскладки.
Язык добавлен в список раскладок|
Порядок языков соответствует приоритету|
Сочетание клавиш не конфликтует с другими программами|
Настройки применены (перезагрузите сессию, если не работает)-->
Если после добавления языка раскладка не меняется, проверьте:
- 🔧 Не используется ли
IBusилиFcitxкак менеджер ввода (они могут блокировать стандартные настройки). - 🔧 Не сброшены ли настройки после обновления системы (актуально для Arch Linux и rolling-release дистрибутивов).
- 🔧 Не включён ли режим Только английский в параметрах BIOS/UEFI (редко, но встречается на некоторых ноутбуках).
3. Почему не работает переключение раскладки: диагностика проблем
Если горячие клавиши не реагируют, а в GUI всё настроено правильно, причины могут быть следующими:
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Комбинации клавиш не работают, но язык меняется через панель задач | Конфликт с IBus/Fcitx или Wayland |
Удалите ibus (sudo apt remove ibus) или переключитесь на X11 |
| Раскладка сбрасывается после ребута | Не сохранены настройки в /etc/default/keyboard |
Отредактируйте файл вручную (раздел 4) |
| Переключение работает только в одном направлении (например, ру → en, но не наоборот) | Неправильный порядок раскладок в конфиге | Проверьте приоритет языков в GUI или в setxkbmap -query |
Клавиши Alt+Shift открывают меню вместо смены языка |
Конфликт с оконным менеджером (например, i3 или Openbox) | Переназначьте комбинацию в конфиге WM или используйте Super+Space |
Для диагностики выполните в терминале:
setxkbmap -query # покажет текущие настройки раскладки
gsettings get org.gnome.desktop.input-sources sources # для GNOME
Как проверить, используется ли Wayland или X11?
Выполните команду echo $XDG_SESSION_TYPE. Если вывод — wayland, значит используется Wayland, если x11 — Xorg. В Wayland горячие клавиши для смены раскладки настраиваются через gsettings или в параметрах GNOME/KDE.
Если проблема возникла после обновления системы, попробуйте сбросить настройки:
dconf reset -f /org/gnome/desktop/input-sources/ # для GNOME
kwriteconfig5 --file kxkbrc --group Layout --key Options "" # для KDE
4. Ручное редактирование конфигурационных файлов
Если графический интерфейс недоступен (например, на сервере без GUI) или настройки не сохраняются, отредактируйте конфигурационные файлы вручную.
Для систем с systemd (Ubuntu 20.04+, Debian 10+, Arch Linux):
- Откройте файл
/etc/default/keyboardс правами суперпользователя:sudo nano /etc/default/keyboard - Убедитесь, что в файле указаны правильные параметры:
XKBMODEL="pc105"XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
Здесь:
XKBLAYOUT— список раскладок через запятую (первая — основная).XKBOPTIONS— опции переключения (grp:alt_shift_toggleдляAlt+Shift).
Ctrl+O → Enter → Ctrl+X) и перезагрузите систему.Для Wayland (GNOME на Wayland, Fedora 36+):
В Wayland настройки хранятся в dconf. Чтобы добавить раскладку:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]"
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"
Для проверки текущих настроек:
localectl status
cat /etc/default/keyboard
5. Настройка переключения раскладки в консоли (TTY)
Если вы работаете в текстовой консоли (например, TTY1 без графического интерфейса), смена раскладки выполняется через команду loadkeys. Этот метод актуален для серверов или восстановления системы.
Инструкция:
- Проверьте доступные раскладки:
ls /usr/share/kbd/keymaps/**/*.map.gzНапример, для русской раскладки ищите файлы вроде
i386/qwerty/ru.map.gz. - Загрузите нужную раскладку:
sudo loadkeys ruили укажите полный путь:
sudo loadkeys /usr/share/kbd/keymaps/i386/qwerty/ru.map.gz - Чтобы сделать изменения постоянными, добавьте команду в
~/.bashrc:echo "loadkeys ru" >> ~/.bashrc
Если loadkeys не установлен (актуально для минимальных установок), установите пакет:
sudo apt install console-data # Debian/Ubuntu
sudo pacman -S kbd # Arch Linux
6. Альтернативные методы: IBus, Fcitx и Xkb
Если стандартные методы не работают, попробуйте альтернативные менеджеры ввода: IBus или Fcitx. Они часто используются для поддержки сложных языков (китайский, японский) или когда нужны дополнительные функции (например, ввод эмодзи).
Установка и настройка IBus:
- Установите пакет:
sudo apt install ibus # Debian/Ubuntusudo dnf install ibus # Fedora
- Добавьте
IBusв автозагрузку:im-config -n ibus - Перезапустите сессию или выполните:
ibus restart - Откройте IBus Preferences (из меню приложений) и добавьте нужные раскладки.
- Установите пакеты:
sudo apt install fcitx fcitx-config-gtk # Debian/Ubuntusudo pacman -S fcitx fcitx-configtool # Arch Linux
- Настройте переменные окружения в
~/.xprofile:export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
- Перезагрузите систему и добавьте раскладки через Fcitx Configuration.
- 🔍 Конфликт с драйверами клавиатуры: На некоторых ноутбуках (например, Lenovo или Dell) встроенные драйверы блокируют стандартные настройки. Решение — обновить ядро или использовать
evdevвместоlibinput. - 🔍 Проблемы с
Wayland: В некоторых дистрибутивах (например, Fedora 36+)Waylandпо умолчанию отключает горячие клавиши для смены раскладки. Решение — переключиться наX11на экране входа. - 🔍 Сброшенные настройки после обновления: В Arch Linux и rolling-release дистрибутивах конфиги могут перезаписываться при обновлении пакетов. Решение — создать резервную копию
/etc/default/keyboard. - 🔍 Неправильные права на конфигурационные файлы: Если файлы в
/etc/имеют некорректные права, настройки не применяются. Решение:sudo chmod 644 /etc/default/keyboard
Установка Fcitx (рекомендуется для KDE или если IBus конфликтует):
Чтобы удалить IBus/Fcitx и вернуть стандартное управление раскладками:
sudo apt purge ibus fcitx # Debian/Ubuntu
sudo dnf remove ibus fcitx # Fedora
7. Решение редких проблем
Если ни один из методов не помог, проверьте следующие нюансы:
⚠️ Внимание: Если вы используете Docker или LXC-контейнеры, настройки клавиатуры внутри контейнера не наследуются от хостовой системы. Чтобы изменить раскладку в контейнере, установите пакет keyboard-configuration и настройте её отдельно.
FAQ: Частые вопросы по смене раскладки в Linux
Как сделать, чтобы индикатор языка отображался на панели задач?
В GNOME индикатор включается автоматически после добавления второй раскладки. Если его нет:
- Установите расширение Kimpanel для KDE или GNOME Shell Extensions для GNOME.
- Для Xfce добавьте плагин Keyboard Layouts на панель.
В Ubuntu 22.04+ индикатор может скрываться из-за бага в GNOME 42. Решение:
gsettings set org.gnome.shell.extensions.ding show-keyboard-layout true
Почему после обновления до Ubuntu 22.04 перестала работать смена раскладки?
В Ubuntu 22.04 по умолчанию используется Wayland, где горячие клавиши настраиваются иначе. Решения:
- Переключитесь на
X11на экране входа (шестерёнка → Ubuntu on Xorg). - Настройте комбинации через
gsettings:gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['space']"
Как отключить автоматическое переключение раскладки при вводе пароля?
Это проблема GDM (менеджера входа GNOME). Решения:
- Установите
lightdmвместоgdm3:sudo apt install lightdm && sudo dpkg-reconfigure lightdm - Или отредактируйте файл
/etc/gdm3/Init/Default, добавив передexit 0:setxkbmap -layout us,ru -option grp:alt_shift_toggle
Можно ли назначить переключение раскладки на Caps Lock?
Да, но это требует редактирования XKB-опций. Выполните:
setxkbmap -option "grp:caps_toggle"
Чтобы сделать изменение постоянным, добавьте опцию в /etc/default/keyboard:
XKBOPTIONS="grp:caps_toggle"
Для Wayland (GNOME):
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:caps_toggle']"
Как сбросить все настройки клавиатуры к заводским?
Выполните команды в зависимости от дистрибутива:
- Для Debian/Ubuntu:
sudo dpkg-reconfigure keyboard-configurationsudo apt install --reinstall keyboard-configuration
- Для Arch Linux:
sudo pacman -S keyboard-configurationsudo localectl set-x11-keymap us
- Для Fedora:
sudo dnf reinstall systemd-localedsudo localectl set-keymap us
После сброса перезагрузите систему.