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. Система применит изменения мгновенно, и вы сможете проверить работу переключения.
☑️ Проверка графической настройки
Использование терминала для быстрой смены раскладки
Для продвинутых пользователей и системных администраторов изменение раскладки через терминал является наиболее быстрым и гибким методом. Команда 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. В среде Ubuntu настройки хранятся в базе данных dconf. Команда gsettings позволяет записывать значения в эту базу, делая настройки постоянными для текущего пользователя.Super+Spacegsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+ru')]"
Для изменения метода переключения на Alt+Shift выполните:
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['space']"
Замените значение в кавычках на нужное сочетание, например, ['.
Таблица основных параметров gsettings
| Параметр | Описание | Пример значения |
|---|---|---|
| sources | Список доступных раскладок | [('xkb', 'us'), ('xkb', 'ru')] |
| switch-input-source | Сочетание клавиш для переключения | [' |
| 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 (с осторожностью, это удалит и другие настройки).