Настройка переключения раскладки клавиатуры в Ubuntu Linux: от базовых методов до продвинутых трюков

Переключение раскладки клавиатуры в Ubuntu Linux — задача, с которой сталкивается каждый пользователь после установки системы. Даже если вы выбрали русский язык при инсталляции, стандартные сочетания клавиш (Alt+Shift или Ctrl+Shift) могут не работать, а в некоторых версиях Ubuntu раскладка вовсе сбрасывается после перезагрузки. Эта проблема особенно актуальна для мультиязычных пользователей, которым приходится постоянно переключаться между английской и русской раскладками при работе с терминалом, документами или кодом.

В этой статье мы разберём все возможные способы настройки переключения раскладки — от базовых настроек через графический интерфейс до ручного редактирования конфигурационных файлов и использования специализированных утилит вроде setxkbmap. Особое внимание уделим типичным ошибкам (например, когда раскладка сбрасывается при входе в систему) и решениям для серверных версий Ubuntu без графической оболочки. Если вы используете Ubuntu 22.04 LTS, 24.04 или более ранние версии — инструкции подойдут для всех них с учётом незначительных отличий в интерфейсе.

1. Настройка раскладки через графический интерфейс (GNOME)

Самый простой способ добавить или изменить раскладку — использовать стандартные настройки GNOME. Этот метод подходит для большинства пользователей десктопных версий Ubuntu (включая Ubuntu Budgie, Kubuntu и Xubuntu с адаптированными интерфейсами).

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

  • 🖱️ Нажмите на иконку шестерёнки в правом верхнем углу экрана (панель GNOME) и выберите Настройки (или Settings).
  • 🌐 Перейдите в раздел Регион и язык (Region & Language).
  • ➕ В блоке Источники ввода (Input Sources) нажмите Добавить (Add) и выберите нужный язык (например, Russian).
  • 🔄 Убедитесь, что в списке отображаются обе раскладки (например, English (US) и Russian).

После добавления языков можно настроить сочетание клавиш для переключения:

  1. В том же разделе Регион и язык нажмите на три точки () рядом с блоком Источники ввода.
  2. Выберите Параметры клавиатуры (Keyboard Settings).
  3. Найдите опцию Переключение на другой источник ввода и установите желаемое сочетание (например, Alt+Shift или Super+Space).

⚠️ Внимание: В некоторых версиях Ubuntu (например, 20.04) после обновления системы настройки раскладки могут сбрасываться. Чтобы этого избежать, рекомендуется дополнительно настроить раскладку через конфигурационные файлы (раздел 3).

2. Горячие клавиши по умолчанию и их изменение

Ubuntu предлагает несколько стандартных сочетаний для переключения раскладки:

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

Если стандартные варианты не устраивают, их можно изменить через Терминал или графический интерфейс. Например, чтобы назначить переключение на Caps Lock (удобно для часто переключающихся пользователей), выполните:

gsettings set org.gnome.desktop.input-sources xkb-options "['grp:caps_toggle']"

Чтобы вернуть стандартное сочетание:

gsettings reset org.gnome.desktop.input-sources xkb-options
📊 Какое сочетание клавиш вы используете для переключения раскладки?
Alt+Shift
Ctrl+Shift
Super+Space
Caps Lock
Другое

3. Ручное редактирование конфигурационных файлов

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

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

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

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

sudo nano /etc/default/keyboard

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

XKBOPTIONS="grp:alt_shift_toggle"

И замените на нужное сочетание, например:

XKBOPTIONS="grp:ctrl_shift_toggle"

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

sudo setupcon
Что делать, если после редактирования файла раскладка не меняется?

Если изменения в /etc/default/keyboard не применяются, проверьте:

1. Права на файл (должны быть 644).

2. Наличие конфликтующих настроек в ~/.xinputrc или ~/.profile.

3. Версию дисплейного сервера (для Wayland может потребоваться другой подход).

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

setxkbmap — мощная консольная утилита для управления раскладкой в реальном времени. Она позволяет менять раскладку без перезагрузки и настраивать сложные схемы переключения.

Основные команды:

Команда Описание
setxkbmap -query Показать текущие настройки раскладки.
setxkbmap us Установить английскую раскладку.
setxkbmap ru Установить русскую раскладку.
setxkbmap -option grp:alt_shift_toggle us,ru Назначить переключение между us и ru по Alt+Shift.
setxkbmap -option grp:win_space_toggle us,ru Назначить переключение по Super+Space.

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

  1. Создайте файл ~/.xprofile (если его нет):
  2. touch ~/.xprofile
  3. Добавьте в него строку:
  4. setxkbmap -option grp:alt_shift_toggle us,ru
  5. Сделайте файл исполняемым:
  6. chmod +x ~/.xprofile

5. Настройка раскладки в Wayland (Ubuntu 22.04 и новее)

Начиная с Ubuntu 22.04 LTS, по умолчанию используется протокол отображения Wayland, который не поддерживает setxkbmap. Вместо этого для управления раскладкой нужно использовать:

  • 🛠️ gsettings — для пользовательских настроек.
  • 📜 Конфигурационные файлы GNOME.
  • 🔧 Специализированные утилиты вроде ibus или fcitx.

Чтобы изменить сочетание клавиш в Wayland, используйте:

gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"

Для добавления новой раскладки:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]"

⚠️ Внимание: В Wayland некоторые сочетания клавиш (например, Caps Lock) могут конфликтовать с системными функциями. Если переключение не работает, попробуйте альтернативные комбинации вроде Super+Space.

Убедитесь, что:

1. Сеанс действительно работает на Wayland (проверьте командой echo $XDG_SESSION_TYPE).

2. В настройках GNOME включены нужные раскладки.

3. Нет конфликтов с другими расширениями (например, GNOME Tweaks).

4. Система обновлена до последней версии (в старых версиях Wayland были баги с раскладкой).-->

6. Решение распространённых проблем с раскладкой

Даже после правильной настройки раскладка может работать некорректно. Рассмотрим типичные проблемы и их решения:

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

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

Проблема 2: Не работает переключение в терминале (TTY).

В консоли (Ctrl+Alt+F1-F6) раскладка управляется отдельно. Чтобы настроить её:

  1. Откройте файл /etc/vconsole.conf:
  2. sudo nano /etc/vconsole.conf
  3. Добавьте строку:
  4. KEYMAP=us,ru
  5. Обновите инициализацию:
  6. sudo update-initramfs -u

Проблема 3: Конфликт с ibus или fcitx.

Если вы используете системы ввода для азиатских языков (например, ibus), они могут блокировать стандартные сочетания клавиш. Решение:

ibus-setup

В настройках ibus отключите управление раскладкой или назначьте другое сочетание.

7. Альтернативные методы: fcitx, ibus и расширения GNOME

Если стандартные методы не устраивают, можно использовать сторонние инструменты:

fcitx: Популярная платформа ввода, поддерживающая сложные схемы переключения. Установите её командой:

sudo apt install fcitx fcitx-config-gtk

Затем добавьте в автозагрузку:

im-config -n fcitx

GNOME Extensions: Расширения вроде Kimpanel или Input Source Switcher добавляют гибкость в управление раскладками. Установите их через:

Важно: Расширения GNOME работают только в графическом режиме и могут конфликтовать с другими инструментами ввода.

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

Как вернуть стандартные настройки раскладки?

Выполните команду:

gsettings reset-recursively org.gnome.desktop.input-sources

Или для глобальных настроек:

sudo rm /etc/default/keyboard && sudo dpkg-reconfigure keyboard-configuration
Почему в некоторых приложениях (например, LibreOffice) раскладка не переключается?

Это может быть связано с:

  • 🔹 Конфликтом с внутренними настройками приложения (проверьте настройки LibreOfficeИнструменты → Параметры → Языковые настройки).
  • 🔹 Использованием Wayland (попробуйте переключиться на X11 при входе в систему).
  • 🔹 Устаревшей версией приложения (обновите его через sudo apt update && sudo apt upgrade).
Как настроить разные раскладки для разных пользователей?

Настройки раскладки в Ubuntu привязаны к пользовательскому профилю. Чтобы настроить индивидуальные раскладки:

  1. Для каждого пользователя выполните настройку через gsettings или графический интерфейс.
  2. Убедитесь, что в /etc/default/keyboard не прописаны глобальные ограничения.
  3. Для серверных версий используйте ~/.bashrc с индивидуальными alias для setxkbmap.
Можно ли назначить переключение раскладки на клавишу Scroll Lock?

Да, но это требует ручного редактирования xkb. Создайте кастомный файл:

sudo nano /usr/share/X11/xkb/symbols/custom

Добавьте в него:

xkb_symbols "scrolllock_toggle" {

key <SCLK> { [ ISO_Next_Group ] };

};

Затем примените:

setxkbmap -layout us,ru -option grp:toggle -variant , -option custom:scrolllock_toggle
Как проверить, какая раскладка активна в данный момент?

Используйте одну из команд:

setxkbmap -query | grep layout

Или для Wayland:

gsettings get org.gnome.desktop.input-sources current

В графическом интерфейсе текущая раскладка отображается в панели GNOME (справа вверху).