Переключение языков клавиатуры в Linux — задача, с которой сталкивается каждый пользователь сразу после установки системы. В отличие от Windows или macOS, где комбинации по умолчанию стандартизированы, в дистрибутивах Linux настройки могут кардинально отличаться в зависимости от окружения рабочего стола (GNOME, KDE Plasma, XFCE) или даже версии дистрибутива. Если вы только перешли с другой ОС, отсутствие привычной комбинации Alt+Shift или Ctrl+Shift может стать настоящей проблемой.
В этой статье мы разберём все возможные способы смены раскладки — от стандартных графических настроек до ручного редактирования конфигурационных файлов. Особое внимание уделим горячим клавишам, так как именно они позволяют переключаться между языками максимально быстро, не отвлекаясь от работы. Вы также узнаете, как настроить удобные сочетания клавиш, если они не работают"из коробки", и что делать, если система вообще не реагирует на попытки сменить язык.
Почему в Linux нет универсальной комбинации для смены языка?
В отличие от проприетарных операционных систем, где настройки раскладки жёстко закреплены за определёнными сочетаниями клавиш, в Linux всё зависит от:
- 🖥️ Окружения рабочего стола (GNOME, KDE, Cinnamon и др.) — каждое имеет свои инструменты управления;
- 📦 Дистрибутива — в Ubuntu настройки могут отличаться от Fedora или Arch Linux;
- 🔧 Менеджера раскладок — некоторые системы используют
ibus, другие —fcitxилиxkb; - 📝 Конфигурационных файлов — ручные правки в
~/.configили/etcпереопределяют стандартные настройки.
К примеру, в GNOME по умолчанию может быть назначена комбинация Super+Space (клавиша Win), тогда как в KDE Plasma часто используется Alt+Shift. А в минималистичных окружениях вроде i3 или Openbox горячие клавиши для смены языка могут отсутствовать вовсе — их придётся настраивать вручную через конфиги.
⚠️ Внимание: Если вы используете серверную версию Linux без графического интерфейса (например, Ubuntu Server), переключение раскладки в консоли осуществляется исключительно через командыloadkeysилиsetxkbmap. Горячие клавиши в таком случае не работают.
Способ 1: Стандартные настройки в графическом интерфейсе
Самый простой метод — воспользоваться встроенными инструментами вашего рабочего окружения. Рассмотрим процесс на примере популярных DE (Desktop Environment).
GNOME (Ubuntu, Fedora, Debian с GNOME Shell)
1. Откройте Настройки → Клавиатура (или Settings → Keyboard).
2. Перейдите на вкладку Языки ввода (Input Sources).
3. В разделе Переключение на другой источник ввода выберите удобную комбинацию из выпадающего списка (например, Alt+Shift или Ctrl+Space).
Если нужной комбинации нет в списке:
- Нажмите
Пользовательские сочетания клавиш(Customize Shortcuts); - Прокрутите до раздела
Типирование(Typing); - Нажмите на текущую комбинацию и введите новую (например,
Caps Lock).
KDE Plasma (Kubuntu, KDE Neon)
В KDE Plasma настройки раскладки спрятаны глубже:
- Откройте
Системные настройки → Ввод/вывод → Клавиатура; - Перейдите на вкладку
Раскладки; - Включите опцию
Показывать флаг страны(опционально); - Нажмите
Дополнительнои выберитеКонфигурировать варианты раскладки; - В разделе
Переключение раскладокустановите галочку напротив нужной комбинации (например,Alt+Shift).
Добавлены все нужные языки (русский, английский и др.)|Выбрана удобная комбинация клавиш|Проверено отображение индикатора языка на панели|Тестировано переключение в текстовом редакторе-->
XFCE (Xubuntu, Linux Mint XFCE)
В XFCE процесс похож, но с нюансами:
- Откройте
Настройки → Клавиатура → Раскладки; - Добавьте нужные языки через кнопку
Добавить; - В разделе
ПараметрынайдитеКлавиши для изменения раскладкии выберите комбинацию.
Если в списке нет Alt+Shift, попробуйте Super+Space или настройте кастомное сочетание через Настройки → Сочетания клавиш → Добавить.
Способ 2: Настройка через консольные команды
Если графический интерфейс недоступен (например, на сервере) или вы предпочитаете терминал, управлять раскладками можно через команды. Основные утилиты — setxkbmap и gsettings (для GNOME).
Команды для быстрого переключения
Чтобы мгновенно сменить раскладку в текущей сессии, используйте:
# Переключение на русский
setxkbmap -layout us,ru -option grp:switch,grp:alt_shift_toggle,grp_led:scroll
Переключение на английский (US)
setxkbmap us
Эти команды работают временно — до перезагрузки. Чтобы сделать настройки постоянными, добавьте их в автозагрузку (например, в ~/.xprofile или ~/.bashrc).
Настройка горячих клавиш через gsettings (GNOME)
Для GNOME-based систем (Ubuntu, Fedora) выполните:
# Посмотреть текущие источники ввода
gsettings get org.gnome.desktop.input-sources sources
Добавить русский язык (если его нет)
gsettings set org.gnome.desktop.input-sources sources"[('xkb','us'), ('xkb','ru')]"
Назначить комбинацию Alt+Shift
gsettings set org.gnome.desktop.input-sources xkb-options"['grp:alt_shift_toggle']"
Использование ibus (для азиатских раскладок)
Если вы используете ibus (популярно для китайского, японского, корейского), переключение осуществляется так:
# Переключение между источниками в ibus
ibus engine # или
Пример для переключения на следующий язык
ibus engine next
⚠️ Внимание: Командыsetxkbmapиgsettingsмогут конфликтовать друг с другом. Если после применения настроек раскладка сбрасывается, проверьте, какая утилита имеет приоритет в вашей системе (обычно это определяется в/etc/X11/xorg.confили конфигах DE).
Способ 3: Ручное редактирование конфигурационных файлов
Для опытных пользователей или в случаях, когда графические настройки не работают, остаётся вариант правки конфигов вручную. Основные файлы:
| Файл | Назначение | Пример содержимого |
|---|---|---|
~/.config/dconf/user |
Настройки GNOME (в бинарном формате, редактируется через dconf-editor) |
[org/gnome/desktop/input-sources] |
/etc/default/keyboard |
Системные настройки раскладки (для консоли и некоторых DE) | XKBMODEL="pc105" |
~/.xinitrc или ~/.xprofile |
Автозагрузка настроек setxkbmap при старте X-сервера |
setxkbmap -layout us,ru -option grp:alt_shift_toggle |
/etc/X11/xorg.conf.d/00-keyboard.conf |
Глобальные настройки Xorg (для всех пользователей) | Section"InputClass" |
После редактирования любого из этих файлов необходимо:
- Перезагрузить
X-сервер(выйти из сессии и заново войти) или выполнитьsudo service gdm restart(для GNOME); - Либо применить настройки вручную через
setxkbmap(для текущей сессии).
Что делать, если после редактирования конфигов раскладка сбилась?
Если после правки файлов (например, /etc/default/keyboard) система перестала реагировать на клавиатуру или сбросила настройки, вернитесь к резервной копии файла или выполните команду:
sudo dpkg-reconfigure keyboard-configuration
Эта команда запустит мастер настройки клавиатуры в текстовом режиме (работает в Debian/Ubuntu).
Способ 4: Использование сторонних утилит
Если встроенные средства не устраивают, можно установить специализированные инструменты для управления раскладками. Они предлагают дополнительные функции вроде визуальных индикаторов, кастомных горячих клавиш или поддержки редких языков.
1. Fcitx (популярно для азиатских языков)
Установите fcitx и плагин для раскладок:
# Ubuntu/Debian
sudo apt install fcitx fcitx-config-gtk
Arch Linux
sudo pacman -S fcitx fcitx-configtool
После установки:
- Добавьте
fcitxв автозагрузку (черезНастройки → Автозапуск); - Запустите
fcitx-configtoolи добавьте нужные языки; - Настройте горячие клавиши в разделе
Global Config → Hotkeys.
2. Xkb-switch (для скриптов и автоматических задач)
Утилита xkb-switch позволяет переключать раскладки из скриптов или привязывать к событиям (например, при запуске определенной программы). Установка:
# Ubuntu/Debian
sudo apt install xkb-switch
Использование
xkb-switch -s us # переключить на английский
xkb-switch -s ru # переключить на русский
xkb-switch -n # показать текущую раскладку
3. Gnome Tweaks (для дополнительных опций в GNOME)
Если вы используете GNOME, установите gnome-tweaks для расширенных настроек:
sudo apt install gnome-tweaks
Затем:
- Откройте
Tweaks → Keyboard & Mouse; - В разделе
Additional Layout Optionsвыберите нужные комбинации.
Встроенные настройки DE|setxkbmap/gsettings|fcitx|ibus|Другое-->
Решение распространённых проблем
Даже после правильной настройки переключение языков может работать некорректно. Рассмотрим типичные ситуации и способы их исправления.
Проблема 1: Горячие клавиши не работают
Возможные причины и решения:
- 🔄 Конфликт сочетаний — проверьте, не занята ли комбинация другой функцией (например,
Alt+Shiftможет использоваться для переключения окон в i3); - 🔧 Неправильные настройки в
dconf— сбросьте их командой:gsettings reset org.gnome.desktop.input-sources xkb-options - 🖥️ Проблемы с X-сервером — перезапустите его (
sudo service gdm restartилиCtrl+Alt+Backspace).
Проблема 2: Раскладка сбрасывается после перезагрузки
Если настройки не сохраняются:
- 📝 Проверьте, что команды
setxkbmapдобавлены в~/.xprofileили~/.bashrc; - 🔄 Убедитесь, что в
/etc/default/keyboardпрописаны правильные параметры; - 🔧 Для GNOME выполните:
dconf dump /org/gnome/desktop/input-sources/ > input-sources.confи проверьте, сохраняются ли настройки в этом файле.
Проблема 3: Не отображается индикатор языка на панели
Чтобы вернуть индикатор:
- 🖥️ В GNOME: установите расширение
KimpanelилиInput Source Indicator; - 🔧 В KDE: проверьте настройки виджета
Клавиатурная раскладкана панели; - 📌 В XFCE: добавьте плагин
Keyboard Layoutsна панель черезНастройки → Панель.
⚠️ Внимание: Если вы используете Wayland вместо Xorg, некоторые команды (например,setxkbmap) могут работать некорректно. В этом случае настройте раскладки через графический интерфейс или используйтеgsettings.
Советы для продвинутых пользователей
Если стандартные методы вас не устраивают, вот несколько неочевидных лайфхаков:
- 🔥 Переключение по колесу мыши: в KDE можно назначить смену раскладки на прокрутку колеса над индикатором языка. Для этого в настройках раскладки выберите опцию
Switch layouts by scrolling over the layout indicator; - 🎯 Автоматическое переключение для определённых приложений: с помощью
xkb-switchи скриптов можно настроить, чтобы в Telegram всегда был русский, а в терминале — английский; - 🔄 Циклическое переключение: если у вас больше двух раскладок, добавьте опцию
grp:switchвsetxkbmapдля поочерёдной смены языков; - 📌 Фиксация раскладки для конкретного окна: в KDE есть опция
Different layout for each window— раскладка будет привязана к активному окну.
FAQ: Частые вопросы по смене языка в Linux
Почему в Ubuntu по умолчанию нет комбинации Alt+Shift?
В современных версиях Ubuntu (с GNOME) по умолчанию используется Super+Space (клавиша Win). Это связано с политикой GNOME, где Alt+Shift может конфликтовать с сочетаниями для переключения окон. Чтобы вернуть привычную комбинацию, выполните:
gsettings set org.gnome.desktop.input-sources xkb-options"['grp:alt_shift_toggle']"
Как сделать, чтобы индикатор языка показывал не флаги, а аббревиатуры (EN/RU)?
В GNOME и KDE можно изменить формат отображения:
- В GNOME: установите расширение
Input Source Indicatorи настройте формат в его параметрах; - В KDE: откройте настройки индикатора раскладки и выберите
Show layout names instead of country flags; - В XFCE: кликните правой кнопкой по индикатору на панели →
Свойства→ снимите галочку сПоказывать флаги.
Можно ли назначить переключение языка на Caps Lock?
Да, но для этого потребуется переназначить клавишу, так как Caps Lock по умолчанию не используется для смены раскладки. Сделать это можно двумя способами:
- Через
gsettings(GNOME):gsettings set org.gnome.desktop.input-sources xkb-options"['grp:caps_toggle']" - Через
setxkbmap:setxkbmap -option grp:caps_toggle
После этого одно нажатие Caps Lock будет переключать язык, а удержание — работать как оригинальная клавиша (если это поддерживается вашим DE).
Как добавить раскладку, которой нет в списке (например, украинскую фонетическую)?
Если нужной раскладки нет в стандартном списке, её можно добавить вручную:
- Узнайте код раскладки (например,
uaдля украинской). Для фонетической раскладки может потребоваться указать вариант, напримерru(phonetic); - Добавьте её через
setxkbmap:setxkbmap -layout us,ua -variant,phonetic - Чтобы сделать настройку постоянной, добавьте строку в
/etc/default/keyboard:XKBLAYOUT="us,ua"XKBVARIANT=",phonetic"
Список доступных раскладок и вариантов можно посмотреть командой:
localectl list-x11-keymap-layouts
Почему после обновления системы сбились настройки раскладки?
Этоная проблема при обновлении GNOME или Xorg. Чтобы восстановить настройки:
- Проверьте, не сбросились ли параметры в
/etc/default/keyboard; - Для GNOME выполните:
gsettings reset-recursively org.gnome.desktop.input-sourcesзатем заново настройте раскладки через графический интерфейс;
- Если используете
ibusилиfcitx, перезапустите их:ibus restart
Если проблема сохраняется, создайте резервную копию текущих настроек и выполните сброс конфигураций клавиатуры через dpkg-reconfigure keyboard-configuration (для Debian/Ubuntu).