Полное руководство: как менять раскладку клавиатуры в Ubuntu

Система не переключает языки сразу после добавления новой раскладки, если не настроен корректный хоткей (горячая клавиша) или уровень ввода (xkb). В оболочке GNOME стандартное поведение отличается от классических дистрибутивов Linux, что часто вызывает путаницу у новичков, привыкших к сочетаниям Alt+Shift или Ctrl+Shift. Без явного указания параметров система может игнорировать попытку смены языка, оставляя ввод на английском или языке по умолчанию.

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

Для начала проверьте, добавлен ли ваш родной язык в список доступных системных языков. Перейдите в настройки системы, найдите раздел «Язык и ввод» (Region & Language) и убедитесь, что необходимая локаль присутствует в списке «Ввод» (Input Sources). Если в списке только «English (US)», система физически не знает, что нужно переключаться на другой язык.

Базовая настройка через графический интерфейс

Самый простой способ добавить новую раскладку — использовать меню настроек, доступное в любой современной версии ОС Ubuntu. Откройте меню приложений, введите в поиске «Настройки» (Settings) и перейдите в раздел «Клавиатура» (Keyboard). В блоке «Ввод» (Input Sources) нажмите на знак «+» для добавления нового языка.

Появившееся окно предложит выбрать язык из списка. Если вашего языка нет в видимой части, воспользуйтесь поиском или кнопкой «Другое» (Other). После выбора нужной раскладки нажмите кнопку «Добавить» (Add). Теперь в правом верхнем углу экрана должна появиться иконка с аббревиатурой языка, например, «EN» или «RU».

Популярные комбинации клавиш

  • 🖱️ Super (Windows) + Space — стандартное переключение в новых версиях GNOME.
  • ⌨️ Alt + Shift — классический вариант, часто требующий ручной настройки.
  • 🎹 Ctrl + Shift — альтернативный метод, популярный среди опытных пользователей.
  • 🔘 Win + Alt — менее распространенная, но работающая комбинация.

Чтобы изменить сочетание клавиш, нажмите на три точки рядом с пунктом «Ввод» или перейдите в раздел «Клавиатура» -> «Ввод» -> «Параметры ввода». Найдите строку «Переключение на другой источник ввода» и нажмите на текущую комбинацию. Введите желаемое сочетание, например, Alt+Shift. Система применит изменения мгновенно, и вы сможете проверить работу переключения.

☑️ Проверка графической настройки

Выполнено: 0 / 4

Использование терминала для быстрой смены раскладки

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

Введите в терминале setxkbmap us, чтобы переключиться на американскую раскладку, или setxkbmap ru для русской. Чтобы установить несколько языков сразу, используйте флаг -layout и перечислите их через запятую: setxkbmap -layout us,ru. Для указания порядка языков можно добавить параметр -option, например, -option grp:alt_shift_toggle для переключения по Alt+Shift.

setxkbmap -layout us,ru -option grp:alt_shift_toggle

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

Как работает setxkbmap?|Утилита setxkbmap напрямую взаимодействует с сервером X11 или Wayland, изменяя текущее состояние клавиатуры. Она не меняет системные файлы, а лишь отправляет сигнал в активную сессию. Это объясняет, почему после перезагрузки настройки сбрасываются, если они не прописаны в конфиге.-->

Настройка постоянных параметров через xkb

Чтобы изменения раскладки сохранялись после перезагрузки, необходимо отредактировать конфигурационные файлы системы или использовать утилиту gsettings. В среде Ubuntu настройки хранятся в базе данных dconf. Команда gsettings позволяет записывать значения в эту базу, делая настройки постоянными для текущего пользователя.

Используйте следующую команду для установки русской и английской раскладок с переключением по Super+Space

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

Для изменения метода переключения на Alt+Shift выполните:

gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['space']"

Замените значение в кавычках на нужное сочетание, например, ['Shift_L'].

Таблица основных параметров gsettings

Параметр Описание Пример значения
sources Список доступных раскладок [('xkb', 'us'), ('xkb', 'ru')]
switch-input-source Сочетание клавиш для переключения ['space']
show-inputs Показывать иконку ввода в панели true
current-source Ключ текущей активной раскладки 1 (второй в списке)

Работа с параметрами xkb в конфигурационных файлах

Если вы используете минималистичную окружение рабочего стола (например, Xfce, Mate или Openbox) или настраиваете сервер без графической оболочки, настройки через gsettings могут не сработать. В таких случаях необходимо редактировать файл конфигурации /etc/default/keyboard. Этот файл является системным и требует прав суперпользователя для изменения.

Откройте файл в редакторе nano или vim с правами root:

sudo nano /etc/default/keyboard

Найдите строку XKBLAYOUT и измените её значение на нужные коды языков через запятую, например:

XKBLAYOUT="us,ru"

Также проверьте параметр XKBOPTIONS. Для переключения по Alt+Shift добавьте туда значение grp:alt_shift_toggle.

XKBOPTIONS="grp:alt_shift_toggle,lv3:ralt_switch"

После сохранения файла изменения вступят в силу только после перезагрузки системы или перезапуска службы console-setup. Это фундаментальный способ настройки, который работает на уровне ядра и не зависит от графического окружения.

⚠️ Внимание: Неправильное изменение файла /etc/default/keyboard может привести к тому, что вы потеряете управление клавиатурой в консоли. Всегда сохраняйте резервную копию файла перед редактированием.

Дополнительные опции xkb

  • 🔄 grp:alt_shift_toggle — классическое переключение Alt+Shift.
  • 🔑 grp:win_space_toggle — переключение Windows+Space.
  • 🎯 grp:ctrl_shift_toggle — переключение Ctrl+Shift.
  • 🖱️ grp:lwin_lalt_toggle — переключение левыми Win и Alt.

Использование сторонних инструментов управления

Иногда стандартные средства Ubuntu не предоставляют удобного интерфейса для сложной настройки. В таких случаях можно установить утилиты, такие как dconf-editor или gnome-tweaks. Эти программы дают более детальный доступ к системным настройкам, включая скрытые параметры ввода.

Установите утилиты через терминал:

sudo apt update && sudo apt install dconf-editor gnome-tweaks

В gnome-tweaks перейдите во вкладку «Клавиатура и мышь» (Keyboard & Mouse), найдите раздел «Изменение раскладки» (Additional Layout Options). Здесь можно визуально выбрать метод переключения без необходимости запоминать сложные команды.

Решение частых проблем и конфликтов

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

⚠️ Внимание: Если иконка переключения языка исчезла или не работает, проверьте, не запущены ли лишние процессы ввода через ps aux | grep ibus. Иногда приходится перезапускать службу ввода.

Другая проблема возникает при использовании Wayland вместо X11. В Wayland некоторые старые методы настройки могут не работать корректно, так как протокол ввода изменился. Проверьте ваш текущий протокол командой echo $XDG_SESSION_TYPE. Если возвращается wayland, убедитесь, что настройки применяются именно для этого протокола.

FAQ: Часто задаваемые вопросы

Почему не работает комбинация Alt+Shift в Ubuntu 22.04?

В новых версиях Ubuntu по умолчанию используется переключение по Super+Space. Чтобы вернуть Alt+Shift, необходимо зайти в «Настройки» -> «Клавиатура» -> «Параметры ввода» и изменить привязку клавиш. Также убедитесь, что нет конфликтов с другими глобальными хоткеями.

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

Если нужного языка нет в списке, его можно добавить вручную через терминал, используя команду setxkbmap -layout us,ru или добавив соответствующий файл раскладки в папку /usr/share/X11/xkb/symbols/. Однако проще найти готовый пакет локали для Ubuntu.

Можно ли сделать разные раскладки для разных приложений?

Стандартные настройки Ubuntu не поддерживают привязку раскладки к конкретному окну. Для этой цели существуют сторонние утилиты, такие как AutoKey или скрипты на Python, которые отслеживают фокус окна и меняют раскладку автоматически.

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

Для полного сброса используйте команду gsettings reset-recursively org.gnome.desktop.input-sources или удалите файлы конфигурации в папке ~/.config/dconf (с осторожностью, это удалит и другие настройки).