Если после установки Ubuntu или обновления системы вы обнаружили, что раскладка клавиатуры сбилась на английскую, отсутствует нужный язык ввода или не работают комбинации для переключения (Alt+Shift/Ctrl+Shift), проблема решается через графический интерфейс или терминал. Чаще всего это происходит из-за сброса настроек GNOME (окружения рабочего стола по умолчанию) или конфликта конфигурационных файлов в /etc/default/keyboard. В 90% случаев достаточно добавить раскладку через «Параметры системы», но для тонкой настройки (например, для Colemak или Dvorak) потребуется редактировать файлы вручную.
В этой инструкции рассмотрим все способы: от базового добавления русского/украинского языка через GUI до ручного прописывания нестандартных раскладок для программистов. Особый акцент сделаем на типичные ошибки — когда система «не видит» новую раскладку или игнорирует горячие клавиши. Все шаги протестированы на Ubuntu 22.04 LTS и 20.04 LTS, но подойдут и для других дистрибутивов на базе Debian (Linux Mint, Pop!_OS).
1. Проверка текущих настроек раскладки
Прежде чем добавлять новую раскладку, убедитесь, что проблема не кроется в сбившихся настройках. Откройте терминал (Ctrl+Alt+T) и выполните команду:
gsettings get org.gnome.desktop.input-sources sources
В ответ вы получите список активных источников ввода в формате ['xkb', 'us'] (где us — английская раскладка) или ['xkb', 'ru+phonetic'] (русская фонетическая). Если список пуст или содержит только us, раскладку придётся добавлять заново. Также проверьте текущую комбинацию для переключения:
gsettings get org.gnome.desktop.input-sources xkb-options
Ожидаемый вывод — что-то вроде ['grp:alt_shift_toggle']. Если массив пуст ([]), горячие клавиши не настроены.
2. Добавление раскладки через графический интерфейс
Самый простой способ — использовать стандартные «Параметры системы». Откройте меню приложений (кнопка Super или значок в левом нижнем углу) и выполните шаги:
- Перейдите в «Настройки» → «Регион и язык» (Settings → Region & Language).
- В блоке «Источники ввода» нажмите «+» (Добавить).
- В строке поиска введите название языка (например, «русский» или «українська»).
- Выберите нужный вариант из списка (например, «Русский (Россия)» или «Українська (Україна, фонетична)»).
- Нажмите «Добавить» и закройте окно.
После добавления новая раскладка появится в панели задач (рядом с часами). Переключаться между языками можно через меню панели или горячими клавишами (по умолчанию — Super+Space).
Как вернуть старую панель переключения языков (до Ubuntu 18.04)
В новых версиях Ubuntu панель с флажками языков скрыта. Чтобы её вернуть, установите расширение GNOME Shell:
sudo apt install gnome-shell-extension-manual
gnome-extensions enable input-source-menu@kgshank.net
После перезагрузки в правом верхнем углу появится классическое меню переключения.
3. Настройка горячих клавиш для переключения раскладки
По умолчанию в Ubuntu для смены языка используется Super+Space (клавиша с логотипом Windows). Если вам удобнее Alt+Shift или Ctrl+Shift, измените комбинацию:
- Откройте «Настройки» → «Клавиатура» → «Ярлыки» (Keyboard Shortcuts).
- Прокрутите вниз до раздела «Типизация» (Typing).
- Найдите пункт «Переключить на следующий источник ввода» (Switch to next input source).
- Кликните по текущей комбинации и нажмите новые клавиши (например,
Alt+Shift).
Если нужной комбинации нет в списке, добавьте её через терминал:
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"
Допустимые значения для xkb-options:
- 🔹
grp:alt_shift_toggle—Alt+Shift(переключение) - 🔹
grp:ctrl_shift_toggle—Ctrl+Shift(переключение) - 🔹
grp:win_space_toggle—Super+Space(по умолчанию) - 🔹
grp:caps_toggle—Caps Lockкак переключатель
4. Установка раскладки через терминал (для опытных пользователей)
Если графический интерфейс недоступен (например, на сервере без GUI) или нужно добавить нестандартную раскладку (например, Colemak), используйте команды:
Сначала обновите список доступных раскладок:
sudo apt update
sudo apt install console-data
Затем отредактируйте конфигурационный файл:
sudo nano /etc/default/keyboard
Найдите строки и измените их согласно таблице:
| Параметр | Значение для русской раскладки | Значение для украинской |
|---|---|---|
XKBMODEL |
"pc105" |
"pc105" |
XKBLAYOUT |
"us,ru" |
"us,ua" |
XKBVARIANT |
",phonetic" (опционально) |
"" |
XKBOPTIONS |
"grp:alt_shift_toggle" |
"grp:ctrl_shift_toggle" |
Сохраните файл (Ctrl+O → Enter → Ctrl+X) и перезагрузите систему или примените изменения:
sudo setupcon
🔹 Перезагрузите систему или выполните sudo setupcon
🔹 Проверьте текущую раскладку командой localectl status
🔹 Убедитесь, что горячие клавиши работают в терминале и GUI
🔹 Если раскладка неменилась, проверьте права на файл /etc/default/keyboard
-->
5. Решение типичных проблем
Проблема 1: Раскладка сбрасывается после перезагрузки.
Причина — конфликт между настройками GNOME и системными файлами. Решение:
- Удалите все раскладки через GUI («Настройки» → «Регион и язык»).
- Отредактируйте
/etc/default/keyboard(см. раздел 4). - Выполните
sudo dpkg-reconfigure keyboard-configurationи следуйте инструкциям.
Проблема 2: Горячие клавиши не работают в некоторых приложениях (например, в Terminal или VS Code).
Это связано с тем, что некоторые программы (особенно Electron-приложения) игнорируют системные настройки. Решение:
- 🔧 Установите расширение GNOME Tweaks и вручную назначьте комбинацию в «Ярлыки клавиатуры».
- 🔧 Для VS Code добавьте в
keybindings.json:{"key": "alt+shift",
"command": "workbench.action.toggleKeyboardLayout"
}
Проблема 3: В терминале (tty1–tty6) раскладка отличается от GUI.
Терминалы Ubuntu используют отдельные настройки. Чтобы синхронизировать их с графическим интерфейсом:
sudo loadkeys ru # для русской раскладки
sudo setupcon # применить изменения
6. Добавление нестандартных раскладок (Colemak, Dvorak, программистские)
Для установки альтернативных раскладок (например, Colemak или BÉPO) выполните:
- Установите пакет с дополнительными раскладками:
sudo apt install xkb-data-extra - Добавьте раскладку через GUI («Настройки» → «Регион и язык» → «+» → поиск по названию).
- Если нужной раскладки нет, скачайте
.xkb-файл и поместите его в/usr/share/X11/xkb/symbols/, затем обновите кеш:sudo dpkg-reconfigure xkb-data
Для программистов полезны раскладки:
- 💻 US International (AltGr dead keys) — удобна для ввода спецсимволов (
{},[],~). - 💻 Russian (Typewriter) — классическая «машинописная» раскладка.
- 💻 Neo 2 — оптимизированная для немецкого и программирования.
Как создать собственную раскладку
1. Скопируйте шаблон из /usr/share/X11/xkb/symbols/us.
2. Отредактируйте файл, изменив ключи (пример для xkb):
default partial alphanumeric_keys
xkb_symbols "custom" {
name[Group1]= "My Custom Layout";
key { [ a, A, ae, AE ] }; // Пример: клавиша 'A' выдаёт 'æ' с AltGr
};
3. Поместите файл в /usr/share/X11/xkb/symbols/ и обновите кеш.
4. Добавьте раскладку через GUI, выбрав её по имени («My Custom Layout»).
7. Удаление ненужных раскладок
Чтобы удалить лишние источники ввода:
- Откройте «Настройки» → «Регион и язык».
- Выделите ненужную раскладку и нажмите на значок «−» (Минус).
- Подтвердите удаление.
Через терминал удаление выполняется командой (замените ru на код нужной раскладки):
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us')]"
Чтобы полностью сбросить настройки к заводским:
gsettings reset org.gnome.desktop.input-sources sources
gsettings reset org.gnome.desktop.input-sources xkb-options
8. Проверка и тестирование раскладки
После настройки проверьте:
- 🔠 Работают ли горячие клавиши в GUI и терминале.
- 🔠 Отображается ли текущая раскладка в панели задач.
- 🔠 Корректно ли вводятся спецсимволы (например,
@#$в английской раскладке). - 🔠 Сохраняются ли настройки после перезагрузки.
Для тестирования используйте команду:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.keycode \([0-9]\). (., \(.\)).$/\1 \2/p'
Нажмите несколько клавиш — в выводе отобразится их код и символ. Например, для клавиши A в английской раскладке:
38 a
38 A # с Shift
Если символы не совпадают с ожидаемыми, проверьте:
- 🔍 Конфликты с IBus или Fcitx (менеджеры ввода для азиатских языков).
- 🔍 Права на файлы в
/etc/default/keyboard(должны быть644). - 🔍 Логи системы:
journalctl -xe | grep -i keyboard.
FAQ: Частые вопросы
Как вернуть английскую раскладку по умолчанию?
Выполните:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us')]"
gsettings set org.gnome.desktop.input-sources xkb-options "[]"
Или отредактируйте /etc/default/keyboard, оставив только XKBLAYOUT="us".
Почему после обновления Ubuntu сбилась раскладка?
Это типичная проблема при переходе между версиями GNOME. Решение:
- Удалите файл конфигурации:
rm -rf ~/.config/dconf/user. - Перезагрузитесь — настройки сбросятся к заводским.
- Добавьте раскладку заново через GUI.
Как сделать, чтобы раскладка автоматически переключалась для определённых приложений?
Используйте утилиту xxkb или скрипт на Python с библиотекой pynput. Пример скрипта:
#!/usr/bin/env python3
from pynput.keyboard import Controller, Key
import subprocess
keyboard = Controller()
app = "firefox" # имя процесса
def switch_layout():
keyboard.press(Key.alt)
keyboard.press(Key.shift)
keyboard.release(Key.shift)
keyboard.release(Key.alt)
while True:
if app in subprocess.check_output(["ps", "-A"]).decode():
switch_layout()
break
Сохраните как switch.py и добавьте в автозагрузку.
Можно ли использовать разные раскладки для разных пользователей?
Да. Настройки раскладки хранятся в профиле пользователя (~/.config/dconf/user). Чтобы применить индивидуальные настройки:
- Переключитесь на нужного пользователя:
su - username. - Настройте раскладку через
gsettingsили GUI. - Повторите для других пользователей.
Системные настройки (/etc/default/keyboard) будут использоваться только в tty.
Как отключить автоматическое переключение раскладки при вводе пароля?
В Ubuntu 22.04+ это регулируется через GNOME Shell. Отключите опцию:
gsettings set org.gnome.desktop.input-sources remember-sources false
Или установите расширение NoAnnoyance:
sudo apt install gnome-shell-extension-noannoyance
⚠️ Внимание: Если вы используете Wayland (по умолчанию в Ubuntu 22.04+), некоторые методы настройки раскладки (например, через setxkbmap) могут не работать. Переключитесь на Xorg на экране входа (значок шестерёнки рядом с кнопкой «Войти»).
⚠️ Внимание: При ручном редактировании /etc/default/keyboard избегайте использования символов вне ASCII (например, кириллицы в значениях параметров). Это может привести к ошибкам при загрузке системы.