Как изменить язык клавиатуры в Ubuntu Linux: от горячих клавиш до терминала

Переключение языков на клавиатуре в Ubuntu — задача, с которой сталкивается каждый пользователь этой операционной системы. Даже если вы установили систему с русским языком по умолчанию, рано или поздно потребуется добавить английскую раскладку для работы с терминалом, программирования или ввода специальных символов. А если система изначально была на английском, без русификации не обойтись.

В отличие от Windows или macOS, где смена языка интуитивно понятна, в Linux-дистрибутивах этот процесс может вызывать вопросы — особенно у новичков. Где находятся настройки? Почему не работают стандартные сочетания клавиш вроде Alt+Shift? Как добавить третий язык или убрать ненужный? Ответы на эти вопросы вы найдёте в данном руководстве.

Мы рассмотрим все возможные способы смены раскладки: от базовых горячих клавиш до ручной правки конфигурационных файлов. А ещё разберём типичные ошибки, из-за которых язык может не переключаться, и дадим рекомендации по оптимизации процесса для разных сценариев использования.

1. Стандартный способ: настройки графического интерфейса (GUI)

Самый простой метод — использовать встроенные инструменты Ubuntu через графический интерфейс. Он подходит для большинства пользователей и не требует знания команд терминала.

Чтобы открыть настройки раскладки, выполните следующие шаги:

  1. Нажмите на иконку шестерёнки в правом верхнем углу экрана (панель GNOME) и выберите «Настройки» (или Settings на английской версии).
  2. Перейдите в раздел «Клавиатура» (Keyboard).
  3. В левом меню выберите пункт «Источники ввода» (Input Sources).

Здесь вы увидите список установленных раскладок. Чтобы добавить новый язык:

  • 🔹 Нажмите кнопку «+» (или Add) внизу окна.
  • 🔹 В поисковой строке введите название языка (например, Russian или English (US)).
  • 🔹 Выберите нужную раскладку из списка (обратите внимание на варианты вроде «Russian (phonetic)» или «English (UK)»).
  • 🔹 Нажмите «Добавить» (Add).

После добавления языков их порядок можно изменить перетаскиванием. Первый язык в списке будет использоваться по умолчанию при запуске системы. Чтобы удалить ненужную раскладку, нажмите на иконку корзины рядом с её названием.

📊 Какой способ переключения языка вы используете чаще?
Горячие клавиши
Панель в правом верхнем углу
Терминал
Другой

2. Горячие клавиши для быстрого переключения

По умолчанию в Ubuntu для смены раскладки назначено сочетание Super+Space (где Super — это клавиша с логотипом Windows). Однако многие пользователи привыкли к классическому Alt+Shift или Ctrl+Shift, которые работают в Windows.

Чтобы изменить комбинацию:

  1. Откройте «Настройки» → «Клавиатура» → «Горячие клавиши» (Keyboard Shortcuts).
  2. Прокрутите список вниз до раздела «Типизация» (Typing).
  3. Найдите пункт «Переключить на следующий источник ввода» (Switch to next input source).
  4. Кликните по текущему сочетанию клавиш и введите новое (например, нажмите Alt + Shift одновременно).

Если нужное сочетание уже занято другой командой, система предложит переназначить его или выбрать другое. Также можно настроить отдельные клавиши для переключения в обратном порядке (пункт Switch to previous input source).

Открыть «Настройки» → «Клавиатура» → «Горячие клавиши»|Найти раздел «Типизация»|Изменить сочетание для «Переключить на следующий источник ввода»|Проверить работоспособность новой комбинации-->

Важно: некоторые приложения (например, Terminator или JetBrains IDE) могут перехватывать горячие клавиши. Если переключение не работает в конкретной программе, проверьте её настройки.

3. Переключение языка через панель GNOME

Если вам неудобно использовать горячие клавиши, можно менять раскладку через панель GNOME (верхняя панель рабочего стола). Этот способ визуально нагляден и не требует запоминания сочетаний.

Как это работает:

  • 🔹 В правом верхнем углу экрана найдите индикатор раскладки (обычно это аббревиатура текущего языка, например РУ или EN).
  • 🔹 Кликните по нему левой кнопкой мыши — откроется меню с доступными языками.
  • 🔹 Выберите нужный язык из списка.

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

  1. Откройте «Настройки» → «Регион и язык» (Region & Language).
  2. В разделе «Источники ввода» активируйте опцию «Показывать текущий источник ввода в панели».

Также можно настроить отображение полного названия языка вместо аббревиатуры. Для этого:

gsettings set org.gnome.desktop.input-sources show-all-sources true

Эта команда включит отображение всех доступных раскладок в панели, а не только текущей.

4. Управление раскладками через терминал

Для опытных пользователей или автоматизации процессов удобнее управлять раскладками через терминал. Это особенно полезно при настройке серверов или удалённых рабочих столов, где графический интерфейс недоступен.

Основные команды для работы с языками:

Команда Описание
gsettings get org.gnome.desktop.input-sources sources Показать список установленных раскладок в формате ['xkb','us']
gsettings set org.gnome.desktop.input-sources sources"[('xkb','us'), ('xkb','ru')]" Установить английскую и русскую раскладки (порядок важен!)
gsettings get org.gnome.desktop.input-sources xkb-options Показать текущие опции XKB (например, для Caps Lock как переключателя)
gsettings set org.gnome.desktop.input-sources xkb-options"['grp:alt_shift_toggle']" Назначить Alt+Shift для переключения раскладок

Пример добавления немецкой раскладки (de) к уже существующим:

gsettings set org.gnome.desktop.input-sources sources"$(gsettings get org.gnome.desktop.input-sources sources | sed"s/]/, ('xkb','de')]/")"

Если вы используете KDE Plasma вместо GNOME, команды будут другими. Например, для просмотра текущих раскладок:

kreadconfig5 --file kxkbrc --group Layout --key LayoutList
Как сбросить настройки раскладок к заводским?

Если вы экспериментировали с настройками и хотите вернуть всё как было, выполните:

gsettings reset org.gnome.desktop.input-sources sources gsettings reset org.gnome.desktop.input-sources xkb-options

После этого перезагрузите сессию (Alt+F2 → введите rEnter).

5. Ручная настройка через конфигурационные файлы

В некоторых случаях (например, при использовании легковесных оконных менеджеров вроде i3 или Openbox) стандартные методы могут не работать. Тогда приходится править конфигурационные файлы вручную.

Основные файлы, отвечающие за раскладки:

  • 📄 /etc/default/keyboard — системные настройки (используется при загрузке).
  • 📄 ~/.config/dconf/user — пользовательские настройки GNOME (в бинарном формате).
  • 📄 ~/.xkbmap — пользовательская карта клавиш (если создана).

Чтобы изменить системную раскладку по умолчанию, отредактируйте файл /etc/default/keyboard:

sudo nano /etc/default/keyboard

Найдите строки:

XKBMODEL="pc105"

XKBLAYOUT="us,ru"

XKBVARIANT=","

XKBOPTIONS="grp:alt_shift_toggle"

Где:

  • XKBLAYOUT — список раскладок через запятую (первая — по умолчанию).
  • XKBOPTIONS — опции переключения (grp:alt_shift_toggle для Alt+Shift, grp:win_space_toggle для Super+Space).

После редактирования примените изменения:

sudo dpkg-reconfigure keyboard-configuration
⚠️ Внимание: Неправильное редактирование конфигурационных файлов может привести к невозможности ввода пароля при следующем входе в систему. Всегда держите под рукой загрузочную флешку с Ubuntu для восстановления.

6. Решение проблем с переключением языка

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

Проблема 1: Горячие клавиши не работают в конкретном приложении.

  • 🔧 Проверьте настройки приложения (например, в Terminator может быть отключено перехват клавиш).
  • 🔧 Попробуйте другое сочетание (например, Super+Space вместо Alt+Shift).

Проблема 2: Язык сбрасывается после перезагрузки.

  • 🔧 Убедитесь, что раскладка добавлена в /etc/default/keyboard.
  • 🔧 Проверьте, не сбрасываются ли настройки GNOME (иногда помогает команда dconf reset -f /org/gnome/desktop/input-sources/).

Проблема 3: Невозможно добавить язык в графическом интерфейсе.

  • 🔧 Установите пакет с раскладкой: sudo apt install xkb-data.
  • 🔧 Проверьте, не повреждён ли профиль пользователя (создайте нового пользователя для теста).

Проблема 4: На клавиатуре не печатаются символы ожидаемого языка.

  • 🔧 Убедитесь, что выбрана правильная вариация раскладки (например, «Russian (typewriter)» вместо «Russian»).
  • 🔧 Проверьте физическую раскладку клавиатуры в BIOS (иногда она отличается от программной).
⚠️ Внимание: Если после обновления системы пропали все раскладки кроме английской, это может быть связано с повреждением пакета xkb-data. Переустановите его командой sudo apt install --reinstall xkb-data и перезагрузите компьютер.

7. Оптимизация для специфических задач

В зависимости от сферы использования Ubuntu, настройку раскладок можно оптимизировать под конкретные нужды.

Для программистов:

  • 💻 Добавьте раскладку «English (US, international with dead keys)» для удобного ввода специальных символов.
  • 💻 Настройте Caps Lock как дополнительный Esc или Ctrl (через xkb-options).
  • 💻 Используйте Compose Key для ввода символов вроде или (настройка в «Регион и язык» → «Раскладка клавиатуры»).

Для полиглотов:

  • 🌍 Установите расширение GNOME Shell «Input Source Menu» для удобного управления несколькими языками.
  • 🌍 Настройте отдельные сочетания клавиш для каждого языка (например, Super+1 для английского, Super+2 для русского).
  • 🌍 Используйте утилиту fcitx для продвинутого управления вводом (поддерживает иероглифы, арабскую ввод и др.).

Для серверов без GUI:

  • 🖥️ Настройте переключение через setxkbmap (например, setxkbmap -layout us,ru -option grp:switch,grp:alt_shift_toggle).
  • 🖥️ Добавьте alias в ~/.bashrc для быстрой смены языка (например, alias ru='setxkbmap ru').

Для пользователей Wayland (вместо X11): некоторые старые методы (например, setxkbmap) могут не работать. В этом случае используйте:

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval'Main.inputMethod.activateNextSource'

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

Как сделать так, чтобы язык не сбрасывался при подключении по RDP?

При удалённом подключении через xrdp или Remmina раскладка может сбрасываться из-за конфликта настроек сервера и клиента. Решение:

  1. На сервере отредактируйте файл /etc/xrdp/startwm.sh, добавив перед строкой test -x /etc/X11/Xsession:
setxkbmap -layout us,ru -option grp:alt_shift_toggle

Где us,ru — нужные вам раскладки.

  1. Перезапустите службу xrdp:
sudo systemctl restart xrdp
Можно ли назначить разные раскладки для разных приложений?

Да, но это требует дополнительных инструментов. Самый простой способ — использовать fcitx:

  1. Установите fcitx и fcitx-config-gtk:
sudo apt install fcitx fcitx-config-gtk
  1. Запустите fcitx-configtool и настройте правила для конкретных приложений.

Также можно использовать расширение GNOME «Per Application Input Method».

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

В некоторых терминалах (например, в gnome-terminal) переключение может не работать из-за конфликта с сочетаниями клавиш терминала. Решения:

  • 🔧 Отключите конфликтующие сочетания в настройках терминала («Правка» → «Сочетания клавиш»).
  • 🔧 Используйте альтернативные терминалы вроде Konsole или Alacritty.
  • 🔧 Переключайте язык через панель GNOME или командой setxkbmap.
Как добавить раскладку, которой нет в стандартном списке?

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

  1. Скачайте файл с раскладкой (обычно в формате .xkb) из репозитория libxkbcommon.
  2. Поместите его в директорию /usr/share/X11/xkb/symbols/.
  3. Обновите кеш xkb:
sudo dpkg-reconfigure xkb-data

После этого новая раскладка появится в списке доступных.

Как отключить автоматическое переключение раскладки при вводе пароля?

Иногда Ubuntu сбрасывает язык на английский при появлении окна ввода пароля (например, после блокировки экрана). Чтобы это исправить:

  1. Откройте файл /etc/X11/xorg.conf.d/00-keyboard.conf (создайте его, если не существует).
  2. Добавьте следующие строки:
Section"InputClass"

Identifier"system-keyboard"

MatchIsKeyboard"on"

Option"XkbLayout""us,ru"

Option"XkbOptions""grp:alt_shift_toggle,grp_led:scroll"

EndSection

Где us,ru — ваши раскладки, а grp_led:scroll включает индикацию текущего языка на клавише Scroll Lock.

  1. Перезагрузите систему.