Переключение языка клавиатуры в Linux: все способы и горячие клавиши

Переключение языков клавиатуры в 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).

Если нужной комбинации нет в списке:

  1. Нажмите Пользовательские сочетания клавиш (Customize Shortcuts);
  2. Прокрутите до раздела Типирование (Typing);
  3. Нажмите на текущую комбинацию и введите новую (например, Caps Lock).

KDE Plasma (Kubuntu, KDE Neon)

В KDE Plasma настройки раскладки спрятаны глубже:

  1. Откройте Системные настройки → Ввод/вывод → Клавиатура;
  2. Перейдите на вкладку Раскладки;
  3. Включите опцию Показывать флаг страны (опционально);
  4. Нажмите Дополнительно и выберите Конфигурировать варианты раскладки;
  5. В разделе Переключение раскладок установите галочку напротив нужной комбинации (например, Alt+Shift).

Добавлены все нужные языки (русский, английский и др.)|Выбрана удобная комбинация клавиш|Проверено отображение индикатора языка на панели|Тестировано переключение в текстовом редакторе-->

XFCE (Xubuntu, Linux Mint XFCE)

В XFCE процесс похож, но с нюансами:

  1. Откройте Настройки → Клавиатура → Раскладки;
  2. Добавьте нужные языки через кнопку Добавить;
  3. В разделе Параметры найдите Клавиши для изменения раскладки и выберите комбинацию.

Если в списке нет 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"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle"
~/.xinitrc или ~/.xprofile Автозагрузка настроек setxkbmap при старте X-сервера setxkbmap -layout us,ru -option grp:alt_shift_toggle
/etc/X11/xorg.conf.d/00-keyboard.conf Глобальные настройки Xorg (для всех пользователей) Section"InputClass"
Identifier"system-keyboard"
MatchIsKeyboard"on"
Option"XkbLayout""us,ru"
Option"XkbOptions""grp:alt_shift_toggle"
EndSection

После редактирования любого из этих файлов необходимо:

  1. Перезагрузить X-сервер (выйти из сессии и заново войти) или выполнить sudo service gdm restart (для GNOME);
  2. Либо применить настройки вручную через 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

После установки:

  1. Добавьте fcitx в автозагрузку (через Настройки → Автозапуск);
  2. Запустите fcitx-configtool и добавьте нужные языки;
  3. Настройте горячие клавиши в разделе 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

Затем:

  1. Откройте Tweaks → Keyboard & Mouse;
  2. В разделе 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?

В современных версиях UbuntuGNOME) по умолчанию используется 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 по умолчанию не используется для смены раскладки. Сделать это можно двумя способами:

  1. Через gsettings (GNOME):
    gsettings set org.gnome.desktop.input-sources xkb-options"['grp:caps_toggle']"
  2. Через setxkbmap:
    setxkbmap -option grp:caps_toggle

После этого одно нажатие Caps Lock будет переключать язык, а удержание — работать как оригинальная клавиша (если это поддерживается вашим DE).

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

Если нужной раскладки нет в стандартном списке, её можно добавить вручную:

  1. Узнайте код раскладки (например, ua для украинской). Для фонетической раскладки может потребоваться указать вариант, например ru(phonetic);
  2. Добавьте её через setxkbmap:
    setxkbmap -layout us,ua -variant,phonetic
  3. Чтобы сделать настройку постоянной, добавьте строку в /etc/default/keyboard:
    XKBLAYOUT="us,ua"
    

    XKBVARIANT=",phonetic"

Список доступных раскладок и вариантов можно посмотреть командой:

localectl list-x11-keymap-layouts
Почему после обновления системы сбились настройки раскладки?

Этоная проблема при обновлении GNOME или Xorg. Чтобы восстановить настройки:

  1. Проверьте, не сбросились ли параметры в /etc/default/keyboard;
  2. Для GNOME выполните:
    gsettings reset-recursively org.gnome.desktop.input-sources

    затем заново настройте раскладки через графический интерфейс;

  3. Если используете ibus или fcitx, перезапустите их:
    ibus restart

Если проблема сохраняется, создайте резервную копию текущих настроек и выполните сброс конфигураций клавиатуры через dpkg-reconfigure keyboard-configuration (для Debian/Ubuntu).