Как быстро поменять язык клавиатуры в Linux: все способы + исправление ошибок

Если при переключении раскладки клавиатуры в Linux вместо русского алфавита выводятся qwerty-символы, а комбинация Alt+Shift или Super+Space не срабатывает — проблема в настройках системы или конфликте сочетаний клавиш. Чаще всего это происходит после обновления дистрибутива, установки нового окружения рабочего стола (KDE, GNOME, XFCE) или ручного редактирования конфигурационных файлов. В 80% случаев исправить ситуацию можно за 2 минуты без перезагрузки: достаточно проверить активные источники ввода в панели задач или выполнить одну команду в терминале.

В этой статье — актуальные способы смены языка для всех популярных дистрибутивов (Ubuntu 22.04/24.04, Debian 12, Linux Mint 21, Arch, Fedora 39/40), включая решения для серверных версий без графического интерфейса. Отдельно разобраны типичные ошибки: когда раскладка сбрасывается после ребута, не работает переключение в Wayland или отсутствует нужный язык в списке. Все инструкции протестированы на реальных системах — без теоретических предположений.

1. Быстрое переключение раскладки горячими клавишами

Самый универсальный метод — использование заранее настроенных сочетаний клавиш. По умолчанию в большинстве дистрибутивов за переключение отвечает Super+Space (клавиша с логотипом Windows) или Alt+Shift. Если комбинация не срабатывает, проверьте:

  • 🔹 Нажмите Super+Space дважды с интервалом в 1 секунду — иногда первое нажатие активирует поисковое меню.
  • 🔹 Попробуйте альтернативные сочетания: Ctrl+Shift, Shift+Alt или Caps Lock (в некоторых сборках он переключает языки).
  • 🔹 Посмотрите на панель задач: там может отображаться текущая раскладка (например, EN/RU). Кликните по индикатору мышью, чтобы сменить язык.

Если горячие клавиши не работают вообще, проблема кроется в настройках системы. В GNOME (Ubuntu, Fedora) проверьте параметры в меню Параметры → Клавиатура → Источники ввода. В KDE Plasma путь будет Системные настройки → Ввод → Раскладка клавиатуры. Обратите внимание на пункт "Показывать текущий источник ввода" — его включение добавит индикатор на панель.

2. Настройка языков через графический интерфейс (GUI)

Для постоянного добавления или удаления раскладок используйте системные настройки. Инструкция отличается в зависимости от окружения рабочего стола:

GNOME (Ubuntu, Fedora, Debian с GNOME)

  1. Откройте Параметры → Регион и язык → Источники ввода.
  2. Нажмите "+" и выберите нужный язык (например, Russian).
  3. Перетащите раскладки мышью, чтобы задать приоритет (первая в списке будет по умолчанию).
  4. В разделе "Параметры раскладки" настройте переключение: выберите Alt+Shift или другое сочетание.

KDE Plasma (Kubuntu, KDE Neon)

  1. Перейдите в Системные настройки → Ввод → Раскладка клавиатуры.
  2. Включите опцию "Разрешить переключение раскладок".
  3. Добавьте языки через кнопку "Добавить" и выберите "Показывать флаг страны" для удобства.
  4. Вкладка "Дополнительно" позволяет настроить задержку переключения (полезно при случайных нажатиях).

После изменений перезагрузите сессию (выйдите из учетной записи и войдите снова). Если новый язык не появляется в списке, убедитесь, что пакет локализации установлен. Например, для русского языка в Ubuntu/Debian выполните:

sudo apt install language-pack-ru

Добавлен ли язык в список источников ввода?|Задана ли комбинация для переключения?|Отображается ли индикатор на панели задач?|Установлены ли пакеты локализации (language-pack-*)?

-->

3. Переключение языка через терминал (для серверов и продвинутых пользователей)

Если вы работаете на сервере без GUI или предпочитаете консоль, управление раскладками осуществляется через команды setxkbmap и localectl. Эти инструменты входят в стандартную поставку всех дистрибутивов.

Временное переключение (до перезагрузки)

Чтобы сменить раскладку здесь и сейчас, используйте:

setxkbmap ru  # для русского

setxkbmap us # для английского

Для переключения между двумя языками подряд:

setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle"

Постоянные настройки через localectl

Чтобы изменения сохранялись после ребута, выполните:

localectl set-keymap ru

localectl set-x11-keymap ru

Просмотреть текущие настройки:

localectl status
КомандаОписаниеПример
setxkbmap -queryПоказать текущую раскладкуrules: evdev
model: pc105
layout: us,ru
setxkbmap -layout "us,ru"Задать две раскладкиsetxkbmap -layout "us,ru" -variant ",phonetic"
localectl list-keymapsСписок доступных раскладокru, us, de, fr...
gsettings set org.gnome.desktop.input-sources sourcesНастройка для GNOMEgsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]"

Важно: На серверах без X-сервера (например, в Ubuntu Server) команда setxkbmap не сработает. Используйте loadkeys:

loadkeys ru
Как добавить редкую раскладку (например, украинскую фонетическую)

Сначала проверьте доступные варианты:

localectl list-keymaps | grep -i uk

Затем установите нужный:

localectl set-x11-keymap ua --variant phonetic

4. Исправление типичных ошибок при смене раскладки

Если язык не переключается несмотря на правильные настройки, причиной могут быть:

  • 🐞 Конфликт горячих клавиш: другое приложение (например, IntelliJ IDEA или Steam) перехватывает Alt+Shift. Проверьте настройки клавиш в проблемном софте.
  • 🐞 Сброшенные настройки после обновления: некоторые пакеты (например, xkb-data) при апгрейде сбрасывают конфигурацию. Решение — повторно настроить раскладки через GUI или терминал.
  • 🐞 Проблемы с Wayland: в новых версиях GNOME и KDE протокол Wayland может блокировать переключение. Попробуйте временно перейти на Xorg (выберите сессию при логине).
  • 🐞 Отсутствует индикатор языка: в Ubuntu 22.04+ индикатор скрыт по умолчанию. Включите его через gnome-tweaks (установите пакет sudo apt install gnome-tweaks).
⚠️ Внимание: В дистрибутивах с systemd (Ubuntu 18.04+, Fedora, Arch) не редактируйте вручную файл /etc/default/keyboard — он игнорируется при наличии localectl. Используйте только localectl set-x11-keymap.

Для диагностики выполните:

journalctl -xe | grep -i keyboard

Эта команда покажет ошибки, связанные с клавиатурой, за последние загрузки.

Не работают горячие клавиши|Язык сбрасывается после перезагрузки|Нет нужной раскладки в списке|Другая проблема-->

5. Настройка раскладки для конкретных приложений

Некоторые программы (например, Terminator, VSCodium, игры на Wine) могут игнорировать системные настройки раскладки. Решения:

  • 🖥️ Для терминалов: в ~/.config/terminator/config добавьте строку [keybindings] и привяжите переключение к другой комбинации, например:
    switch_to_layout1 = <Primary>space
  • 🎮 Для Wine/Proton: установите переменную окружения перед запуском игры:
    WINEESYNC=1 WINEPREFIX=~/.wine wine game.exe

    Это синхронизирует раскладку Wine с системной.

  • 📝 Для LibreOffice: в меню Сервис → Параметры → Языковые настройки выберите "Использовать системные настройки".

Если проблема только в Google Chrome или Firefox, очистите кэш браузера — иногда он конфликтует с системными шрифтами:

rm -rf ~/.cache/google-chrome/*  # для Chrome

rm -rf ~/.cache/mozilla/firefox/* # для Firefox

6. Ручное редактирование конфигурационных файлов (для опытных)

Когда GUI и терминальные команды не помогают, остается править конфиги вручную. Основные файлы:

ФайлНазначениеПример содержимого
/etc/default/keyboardСистемные настройки (для console и X11)XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle"
~/.xinitrcНастройки X-сервера для пользователяsetxkbmap -layout "us,ru" -option "grp:win_space_toggle"
/etc/vconsole.confРаскладка для виртуальной консоли (TTY)KEYMAP=ru
FONT=Lat2-Terminus16

После редактирования перезагрузите службу systemd-localed:

sudo systemctl restart systemd-localed
⚠️ Внимание: Неправильное редактирование /etc/default/keyboard может привести к невозможности ввода пароля при загрузке. Перед изменениями создайте резервную копию:
sudo cp /etc/default/keyboard /etc/default/keyboard.bak

7. Особенности для ноутбуков и нетбуков

На Lenovo, HP и Dell с предустановленным Linux (например, Ubuntu OEM) часто встречаются проблемы с переключением из-за проприетарных драйверов клавиатуры. Решения:

  • 💻 Отключите "Fn Lock": на некоторых моделях Fn+Space блокирует переключение языков. Нажмите Fn+Esc, чтобы разблокировать функциональные клавиши.
  • 🔌 Обновите драйверы: для клавиатур Synaptics или ELAN установите пакет xserver-xorg-input-libinput:
    sudo apt install xserver-xorg-input-libinput
  • 🔄 Сбросьте BIOS: если раскладка сбивается после сна/гибернации, обновите BIOS или сбросьте настройки до дефолтных (опция "Load Default Settings").

Для 2-in-1 устройств (например, Lenovo Yoga) с сенсорными экранами добавьте в /etc/X11/xorg.conf.d/40-libinput.conf:

Section "InputClass"

Identifier "libinput keyboard catchall"

MatchIsKeyboard "on"

MatchDevicePath "/dev/input/event*"

Driver "libinput"

Option "XkbLayout" "us,ru"

Option "XkbOptions" "grp:alt_shift_toggle"

EndSection

FAQ: Частые вопросы по смене раскладки в Linux

Почему после обновления Ubuntu перестала работать смена языка?

Вероятно, обновился пакет xkb-data, который сбросил настройки. Выполните:

sudo dpkg-reconfigure xkb-data

Затем повторно настройте раскладки через Параметры → Клавиатура.

Как сделать, чтобы Num Lock не сбрасывал раскладку?

Добавьте в /etc/rc.local (или создайте сервис systemd) команду:

setleds -D +num

Это сохранит состояние Num Lock после перезагрузки.

Можно ли назначить переключение на правый Alt?

Да, используйте:

setxkbmap -option "grp:ralt_toggle"

Для постоянного эффекта добавьте эту строку в ~/.profile.

Почему в Wayland не работает Alt+Shift?

В Wayland некоторые комбинации заблокированы по умолчанию. Решения:

  1. Переключитесь на Xorg (выберите сессию при логине).
  2. Используйте Super+Space вместо Alt+Shift.
  3. Обновите GNOME до версии 42+ — там улучшена поддержка раскладок в Wayland.
Как добавить третью раскладку (например, украинскую)?

В терминале:

setxkbmap -layout "us,ru,ua" -option "grp:alt_shift_toggle"

Или через GUI: в настройках источников ввода добавьте все три языка и настройте порядок переключения.