Если при наборе текста в Linux вместо русских букв появляются латинские символы (или наоборот), а сочетания Alt+Shift или Ctrl+Shift не работают — проблема в неправильно настроенной смене раскладки. В 80% случаев это происходит из-за сброса настроек после обновления системы или конфликта между несколькими методами переключения (например, когда одновременно активны сочетания клавиш в GNOME и Xorg). Первое, что нужно проверить: работает ли индикатор языка в панели задач и не сбились ли назначенные комбинации в параметрах системы.
В отличие от Windows, где смена раскладки настраивается в одном месте, в Linux за это могут отвечать сразу несколько компонентов: менеджер рабочего стола (GNOME, KDE Plasma, XFCE), сервер отображения (X11 или Wayland), а также консольные утилиты вроде setxkbmap. Если вы недавно обновили дистрибутив (например, с Ubuntu 22.04 на 24.04) или установили новую тему оформления, велик шанс, что настройки сбросились к значениям по умолчанию. Ниже разберём все способы — от базовых до продвинутых.
1. Горячие клавиши по умолчанию в популярных дистрибутивах
Большинство дистрибутивов Linux используют стандартные комбинации для смены языка, но они могут отличаться в зависимости от рабочего стола. Вот актуальные данные для самых распространённых окружений:
- 🔹 GNOME (Ubuntu, Fedora, Debian):
Super+Space(клавиша Windows) илиAlt+Shift. В новых версияхSuper+Spaceчасто отключён по умолчанию. - 🔹 KDE Plasma (Kubuntu, KDE Neon):
Alt+ShiftилиCtrl+Shift. Можно настроить в «Системные настройки» → «Ввод». - 🔹 XFCE (Xubuntu, Linux Mint XFCE):
Alt+Shift. Иногда требует ручной настройки в «Параметры» → «Клавиатура». - 🔹 Cinnamon (Linux Mint):
Super+SpaceилиAlt+Shift. Настраивается в «Параметры» → «Апплеты» → «Keyboard Layout».
Если стандартные сочетания не работают, проверьте:
- Активна ли русская раскладка в списке доступных языков (см. следующий раздел).
- Не конфликтуют ли настройки рабочего стола с системными (например, в GNOME Tweaks может быть отключено переключение).
- Не используется ли Wayland вместо X11 — в нём некоторые комбинации работают иначе.
2. Добавление и удаление раскладок через графический интерфейс
Прежде чем настраивать горячие клавиши, убедитесь, что нужные языки добавлены в систему. В большинстве дистрибутивов это делается через «Параметры» (или «Настройки») → «Регион и язык» (или «Клавиатура»). Рассмотрим процесс на примере Ubuntu 24.04 с GNOME:
- Откройте меню приложений и выберите «Настройки» (или нажмите
Superи введите «настройки»). - Перейдите в раздел «Клавиатура» → вкладка «Источники ввода».
- Нажмите «+» (Добавить) и найдите в списке «Русский» (или другой нужный язык). Выберите подходящую раскладку (обычно это «Русская» или «Русская (типографская)»).
- С помощью кнопок со стрелками отрегулируйте порядок раскладок — первая в списке будет использоваться по умолчанию.
В KDE Plasma путь немного другой:
- «Системные настройки» → «Региональные настройки» → «Клавиатура».
- Во вкладке «Раскладки» нажмите «Добавить» и выберите язык.
- Настройте переключение во вкладке «Переключение раскладок».
Как удалить ненужную раскладку?
В том же разделе «Источники ввода» выделите ненужный язык и нажмите на значок корзины (или кнопку «Удалить»). Если язык не удаляется, проверьте, не используется ли он в качестве основного для системы (это можно изменить в «Язык системы» в тех же настройках).
После добавления языка проверьте, появился ли индикатор раскладки на панели задач (обычно это аббревиатура типа «РУ»/«EN»). Если его нет, возможно, требуется перезагрузка сеанса (выйти из учётной записи и зайти снова).
3. Настройка горячих клавиш в GNOME, KDE и XFCE
Если стандартные комбинации не устраивают или не работают, их можно переназначить. Рассмотрим, как это сделать в разных окружениях.
GNOME (Ubuntu, Fedora, Debian)
- Откройте «Настройки» → «Клавиатура» → «Сочетания клавиш».
- Прокрутите вниз до раздела «Типирование».
- Найдите пункт «Переключить на следующий источник ввода» и нажмите на текущую комбинацию.
- Зажмите новые клавиши (например,
Caps LockилиCtrl+Alt).
KDE Plasma
- «Системные настройки» → «Клавиатура» → «Раскладки».
- Во вкладке «Переключение раскладок» выберите нужное сочетание из выпадающего списка или нажмите «Настроить сочетания клавиш».
XFCE
- «Параметры» → «Клавиатура» → вкладка «Раскладка».
- В разделе «Опции раскладки» найдите «Клавиши для изменения раскладки» и выберите подходящую комбинацию.
Если нужной комбинации нет в списке (например, Caps Lock), её можно добавить вручную через терминал (см. раздел 5).
4. Проблемы с переключением: причины и решения
Если язык не переключается несмотря на правильные настройки, причины могут быть следующими:
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Горячие клавиши не работают, но индикатор языка меняется | Конфликт между настройками GNOME и Xorg | Отключите переключение в setxkbmap (см. раздел 5) или сбросьте настройки через dconf reset |
| Язык меняется, но на экране отображаются не те символы | Неправильная кодировка шрифта или локаль | Установите правильную локаль: sudo dpkg-reconfigure locales |
| Переключение работает только в некоторых приложениях | Приложение использует собственную систему ввода (например, JetBrains IDE) | Настройте раскладку внутри программы или отключите её «родной» input method |
| Комбинации срабатывают с задержкой | Загруженность системы или конфликт с IBus | Перезапустите IBus: ibus restart или отключите его |
Один из самых распространённых конфликтов — когда переключение настроено и в графическом интерфейсе, и в консольной утилите setxkbmap. Чтобы проверить, не мешает ли setxkbmap, выполните в терминале:
setxkbmap -query | grep options
Если в выводе есть строка вроде grp:alt_shift_toggle, значит, переключение дублируется. Чтобы сбросить настройки setxkbmap, используйте:
setxkbmap -option
5. Ручное управление раскладками через терминал
Для продвинутых пользователей или в случаях, когда графический интерфейс недоступен (например, на сервере без GUI), управление раскладками осуществляется через консольные команды. Основные утилиты:
- 🐧
setxkbmap— изменяет раскладку и опции X11 в реальном времени. - 🐧
gsettings— управляет настройками GNOME. - 🐧
localectl— настраивает системную локаль и клавиатуру. - 🐧
loadkeys— используется в консоли (без X-сервера).
Примеры команд:
- 🔧 Переключить раскладку на русскую в текущем сеансе X11:
setxkbmap -layout us,ru -option grp:alt_shift_toggleЗдесь
us,ru— список раскладок, аgrp:alt_shift_toggle— метод переключения (alt_shift_toggleменяет язык поAlt+Shift,grp:ctrl_shift_toggle— поCtrl+Shift). - 🔧 Добавить русскую раскладку в GNOME:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]" - 🔧 Установить русскую раскладку по умолчанию в консоли (без GUI):
sudo loadkeys ru - 🔧 Посмотреть текущие настройки:
localectl statussetxkbmap -query
Чтобы изменения сохранялись после перезагрузки, добавьте команду setxkbmap в автозагрузку. Для этого:
- Создайте файл
~/.xprofile(если его нет):touch ~/.xprofile. - Добавьте строку с командой, например:
setxkbmap -layout us,ru -option grp:alt_shift_toggle - Сделайте файл исполняемым:
chmod +x ~/.xprofile.
1. Убедитесь, что X-сервер запущен (команда echo $DISPLAY должна вернуть :0 или подобное).
2. Проверьте текущие раскладки: localectl list-x11-keymap-layouts.
3. Если используете Wayland, setxkbmap может не работать — используйте gsettings.
4. После изменений перезагрузите сеанс или выполните setxkbmap -option для сброса.-->
6. Особенности переключения в Wayland
Wayland — современный протокол отображения, который постепенно заменяет X11 в большинстве дистрибутивов. В нём многие низкоуровневые инструменты вроде setxkbmap работают иначе или не работают вовсе. Если вы используете Wayland (проверить можно командой echo $XDG_SESSION_TYPE), учитывайте следующие нюансы:
- ⚠️ Комбинации, назначенные через
setxkbmap, игнорируются. Используйте настройки GNOME/KDE илиgsettings. - ⚠️ Некоторые приложения (например, Steam или Wine) могут «не видеть» смену раскладки. Решение — запускать их с переменной
SDL_VIDEODRIVER=x11. - ⚠️ Индикатор языка может отображаться некорректно в некоторых DE (например, в KDE Plasma под Wayland).
Чтобы принудительно использовать X11 (если Wayland вызывает проблемы):
- На экране входа в систему (после выбора пользователя) нажмите на шестерёнку «Настройки сеанса».
- Выберите вариант с пометкой «X11» или «Xorg».
- Введите пароль и войдите в систему.
В Ubuntu 22.04+ и Fedora 36+ Wayland используется по умолчанию. Если вам критично важно переключение через setxkbmap, временно вернитесь к X11 или настройте альтернативные методы (например, через ibus).
gsettings get org.gnome.desktop.input-sources sources
Это вернёт список в формате [('xkb', 'us'), ('xkb', 'ru')], где первый элемент — текущая раскладка.-->
7. Альтернативные методы: IBus, Fcitx и xkb-switch
Если стандартные способы не устраивают, можно использовать специализированные менеджеры ввода:
- 🦜 IBus — популярный фреймворк для ввода нелатинских символов (китайский, японский, русский). Устанавливается командой:
sudo apt install ibusПосле установки добавьте русский язык через
ibus-setupи назначьте горячие клавиши. - 🦜 Fcitx — более гибкая альтернатива IBus, поддерживает плагины и темы. Установка:
sudo apt install fcitx fcitx-config-gtkНастройка осуществляется через
fcitx-configtool. - 🦜 xkb-switch — утилита для быстрого переключения раскладок из терминала или скриптов. Установка:
sudo apt install xkb-switchПример использования:
xkb-switch -s us # переключить на английскуюxkb-switch -s ru # переключить на русскую
xkb-switch -n # показать текущую раскладку (0 — первая в списке, 1 — вторая)
Эти инструменты полезны, если:
- 🔸 Вам нужно переключать языки в скриптах (например, для автоматического ввода паролей).
- 🔸 Стандартные методы конфликтуют с приложениями (например, в Wine или играх).
- 🔸 Вы используете редкие раскладки (например, Койра или ЙЦУКЕН).
Для Fcitx и IBus не забудьте добавить их в автозагрузку:
im-config -n fcitx # для Fcitx
im-config -n ibus # для IBus
ibus restart
или
fcitx restart-->
8. Переключение языка в консоли (без графического интерфейса)
Если вы работаете в текстовой консоли (например, на сервере или в tty1), для смены раскладки используйте команду loadkeys. По умолчанию в большинстве дистрибутивов доступны только английская (us) и локальная раскладка (например, ru для русской системы).
Основные команды:
- 🖥️ Посмотреть доступные раскладки:
ls /usr/share/keymaps/i386/qwerty/(путь может отличаться в зависимости от дистрибутива).
- 🖥️ Загрузить русскую раскладку:
sudo loadkeys ru - 🖥️ Вернуться к английской:
sudo loadkeys us - 🖥️ Установить раскладку по умолчанию (сохранится после перезагрузки):
sudo localectl set-keymap ru
Если нужной раскладки нет в списке, её можно сгенерировать из X11-кемапа:
sudo ckbcomp -layout ru /usr/share/keymaps/i386/qwerty/ru.map.gz
sudo loadkeys ru
В некоторых дистрибутивах (например, Arch Linux) может потребоваться ручная настройка файла /etc/vconsole.conf:
KEYMAP=ru
FONT=cyr-sun16
Как переключаться между раскладками в консоли без loadkeys?
Если loadkeys не поддерживает переключение, можно использовать скрипт:
#!/bin/bash
if grep -q "keymap.*us" /etc/vconsole.conf; then
sudo sed -i 's/keymap.*us/keymap ru/' /etc/vconsole.conf
sudo loadkeys ru
else
sudo sed -i 's/keymap.*ru/keymap us/' /etc/vconsole.conf
sudo loadkeys us
fi
Сохраните его как switch_kb.sh, сделайте исполняемым (chmod +x switch_kb.sh) и запускайте по мере необходимости.
Обратите внимание: в консоли нет горячих клавиш для переключения — придётся либо использовать скрипты, либо каждый раз вводить loadkeys.
Частые вопросы (FAQ)
Почему после обновления Ubuntu перестали работать горячие клавиши для смены языка?
Это типичная проблема при переходе на новую версию GNOME или смене протокола с X11 на Wayland. Решения:
- Проверьте, не сбились ли настройки в
dconf:dconf dump /org/gnome/desktop/input-sources/Если вывод пустой, настройки сбросились. Восстановите их через графический интерфейс.
- Если используете Wayland, попробуйте вернуться к X11 на экране входа.
- Сбросьте настройки IBus:
ibus reset-config
Как сделать, чтобы язык переключался по Caps Lock?
Эта клавиша по умолчанию не используется для смены раскладки, но её можно переназначить:
- В GNOME:
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:caps_toggle']" - В X11 (через
setxkbmap):setxkbmap -option grp:caps_toggle - Чтобы отключить стандартное поведение
Caps Lock(чтобы она не включала заглавные буквы), добавьте:setxkbmap -option caps:none
После этого Caps Lock будет работать как переключатель языка.
Можно ли назначить разные комбинации для разных приложений?
Да, но это требует дополнительных инструментов:
- 🔧 В KDE Plasma это делается через «Системные настройки» → «Клавиатура» → «Раскладки» → «Дополнительные настройки».
- 🔧 В GNOME потребуется расширение Gnome Shell Extensions (например, Per Application Keyboard Layout).
- 🔧 Для X11 можно использовать
xbindkeys+ скрипты наxkb-switch.
Пример скрипта для xbindkeys:
#!/bin/bash
if [ "$(xprop -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}') _NET_WM_PID | awk '{print $3}')" = "1234" ]; then
setxkbmap -layout us # для PID 1234 (например, Terminal) всегда английская
else
setxkbmap -layout us,ru -option grp:alt_shift_toggle # для остальных — переключение
fi
Почему в некоторых играх (например, в Steam) не работает переключение языка?
Проблема связана с тем, что многие игры используют собственные системы ввода или запускаются с правами, ограничивающими доступ к X11/Wayland. Решения:
- 🎮 Запускайте игру с переменной окружения:
SDL_VIDEODRIVER=x11 %command%(в Steam это настраивается в свойствах игры → «Параметры запуска»).
- 🎮 Используйте IBus или Fcitx вместо стандартных методов.
- 🎮 В настройках игры найдите опцию «Use system keyboard layout» и включите её.
- 🎮 Для Wine/Proton добавьте в
~/.config/environment.d/wine.conf:SDL_VIDEODRIVER=x11QT_QPA_PLATFORM=xcb
Как сбросить все настройки клавиатуры к заводским?
Если вы экспериментировали с настройками и хотите вернуть всё «как было», выполните следующие команды в зависимости от вашего окружения:
- 🔄 Для GNOME:
dconf reset -f /org/gnome/desktop/input-sources/gsettings reset org.gnome.desktop.input-sources xkb-options
- 🔄 Для KDE Plasma:
kwriteconfig5 --file kxkbrc --group Layout --key Options ""qdbus org.kde.kded5 /kded org.kde.kded5.reparseConfiguration
- 🔄 Для X11 (сброс
setxkbmap):setxkbmap -layout us # сброс к английскойsetxkbmap -option # сброс опций
- 🔄 Для IBus:
ibus reset-config
После сброса перезагрузите сеанс (выйдите из учётной записи и войдите снова).