Если при переключении раскладки клавиатуры в 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)
- Откройте
Параметры → Регион и язык → Источники ввода. - Нажмите "+" и выберите нужный язык (например, Russian).
- Перетащите раскладки мышью, чтобы задать приоритет (первая в списке будет по умолчанию).
- В разделе "Параметры раскладки" настройте переключение: выберите
Alt+Shiftили другое сочетание.
KDE Plasma (Kubuntu, KDE Neon)
- Перейдите в
Системные настройки → Ввод → Раскладка клавиатуры. - Включите опцию "Разрешить переключение раскладок".
- Добавьте языки через кнопку "Добавить" и выберите "Показывать флаг страны" для удобства.
- Вкладка "Дополнительно" позволяет настроить задержку переключения (полезно при случайных нажатиях).
После изменений перезагрузите сессию (выйдите из учетной записи и войдите снова). Если новый язык не появляется в списке, убедитесь, что пакет локализации установлен. Например, для русского языка в 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 |
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 | Настройка для GNOME | gsettings 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" |
~/.xinitrc | Настройки X-сервера для пользователя | setxkbmap -layout "us,ru" -option "grp:win_space_toggle" |
/etc/vconsole.conf | Раскладка для виртуальной консоли (TTY) | KEYMAP=ru |
После редактирования перезагрузите службу 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 некоторые комбинации заблокированы по умолчанию. Решения:
- Переключитесь на Xorg (выберите сессию при логине).
- Используйте
Super+SpaceвместоAlt+Shift. - Обновите GNOME до версии 42+ — там улучшена поддержка раскладок в Wayland.
Как добавить третью раскладку (например, украинскую)?
В терминале:
setxkbmap -layout "us,ru,ua" -option "grp:alt_shift_toggle"
Или через GUI: в настройках источников ввода добавьте все три языка и настройте порядок переключения.