Как быстро поменять раскладку клавиатуры в Linux: все способы

Если при наборе текста в Linux вместо ожидаемых букв появляются непонятные символы или раскладка самопроизвольно сбивается на английскую, проблема кроется в неверных настройках переключения языков. Чаще всего это происходит после обновления системы, установки нового дистрибутива или подключения внешней клавиатуры. В 90% случаев исправить ситуацию можно за 1-2 команды в терминале или через графический интерфейс — без перезагрузки.

Основные симптомы некорректной работы раскладки: невозможность переключиться на русский язык сочетанием Alt+Shift/Ctrl+Shift, отображение неправильных символов при вводе (например, "йцукен" печатает "qwerty"), или полное отсутствие реакции на горячие клавиши. В этой статье разберём все актуальные способы смены раскладки для Ubuntu, Debian, Arch Linux и производных дистрибутивов, включая решения для серверных версий без графического интерфейса.

1. Быстрое переключение раскладки через графический интерфейс (GUI)

Самый простой способ изменить раскладку — использовать встроенные настройки системы. Этот метод подходит для большинства десктоп-окружений: GNOME, KDE Plasma, XFCE, Cinnamon и других. Инструкция универсальна для Ubuntu 22.04/24.04, Linux Mint, Fedora и аналогичных дистрибутивов.

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

  • 🔍 Перейдите в раздел "Регион и язык" (или "Язык и раскладка" в некоторых дистрибутивах).
  • 📝 В блоке "Источники ввода" нажмите кнопку + ("Добавить").
  • 🌍 Выберите нужный язык (например, "Русский") и конкретную раскладку ("Русская", "Русская (фонетическая)" и т.д.).
  • ⚡ Убедитесь, что в списке отображаются обе раскладки (английская и русская). Перетаскиванием измените порядок — первая в списке будет использоваться по умолчанию.

После добавления раскладки проверьте сочетание клавиш для переключения. В том же разделе настроек найдите опцию "Сочетания клавиш для переключения источников ввода". По умолчанию это Super+Пробел (клавиша Win), но можно выбрать Alt+Shift или Ctrl+Shift.

2. Переключение раскладки через терминал (для всех дистрибутивов)

Если графический интерфейс недоступен (например, на сервере или в minimal-install версии Linux), раскладку можно изменить через командную строку. Используйте утилиту setxkbmap, которая входит в стандартный пакет xkb-data.

Сначала проверьте текущие настройки:

setxkbmap -query

Чтобы временно (до перезагрузки) сменить раскладку на русскую, выполните:

setxkbmap -layout us,ru -option grp:alt_shift_toggle

Расшифровка команды:

  • us,ru — список раскладок (сначала английская, затем русская).
  • grp:alt_shift_toggle — переключение по Alt+Shift. Другие варианты:
    • grp:ctrl_shift_toggleCtrl+Shift,
    • grp:win_space_toggleWin+Пробел,
    • grp:caps_toggle — переключение по Caps Lock.

Для сброса настроек к дефолтным:

setxkbmap -layout us

3. Постоянная смена раскладки через конфигурационные файлы

Чтобы изменения сохранялись после перезагрузки, отредактируйте конфигурационный файл /etc/default/keyboard (для систем с systemd) или ~/.xinitrc (для пользовательских сессий). Этот метод работает в Debian, Ubuntu и производных.

Откройте файл в любом текстовом редакторе (например, nano):

sudo nano /etc/default/keyboard

Найдите строки и измените их согласно примеру:

XKBMODEL="pc105"

XKBLAYOUT="us,ru"

XKBVARIANT=","

XKBOPTIONS="grp:alt_shift_toggle"

Сохраните файл (Ctrl+OEnterCtrl+X) и примените изменения:

sudo dpkg-reconfigure keyboard-configuration

Для дистрибутивов на базе Arch Linux (например, Manjaro) отредактируйте файл /etc/X11/xorg.conf.d/00-keyboard.conf:

Section "InputClass"

Identifier "system-keyboard"

MatchIsKeyboard "on"

Option "XkbLayout" "us,ru"

Option "XkbOptions" "grp:alt_shift_toggle"

EndSection

📊 Какую раскладку вы используете чаще всего?
Только английскую
Русскую и английскую
Другие языки (украинская, немецкая и т.д.)
Использую Colemak/Dvorak

4. Настройка раскладки в Wayland (GNOME 40+)

Современные версии GNOME (начиная с 40) используют протокол Wayland вместо X11, что меняет подход к управлению раскладками. Здесь setxkbmap работать не будет — вместо этого используйте gsettings или графический интерфейс.

Чтобы добавить русскую раскладку через терминал:

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

Для настройки сочетания клавиш:

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

Допустимые опции для xkb-options:

Опция Описание Сочетание клавиш
grp:alt_shift_toggle Переключение по Alt+Shift Alt+Shift
grp:ctrl_shift_toggle Переключение по Ctrl+Shift Ctrl+Shift
grp:win_space_toggle Переключение по Win+Пробел Super+Пробел
grp:caps_toggle Переключение по Caps Lock Caps Lock

Если после изменений раскладка не применяется, перезапустите GNOME Shell:

killall -3 gnome-shell

5. Решение проблем с неработающими горячими клавишами

Если сочетания клавиш для переключения раскладки не работают, причина может крыться в конфликте с другими системными комбинациями или отсутствии нужных пакетов. Проверьте следующее:

  • 🔄 Убедитесь, что установлен пакет xkb-data:
    sudo apt install xkb-data  # Debian/Ubuntu
    

    sudo pacman -S xkeyboard-config # Arch Linux

  • 🔧 Проверьте конфликты в настройках Compiz или KWin (для KDE):
    gsettings list-recursively org.gnome.desktop.wm.keybindings | grep switch
  • 🛠 Если используете i3 или Sway, добавьте в конфиг (~/.config/i3/config):
    exec --no-startup-id setxkbmap -layout us,ru -option grp:alt_shift_toggle
Список конфликтующих приложений

Если горячие клавиши не работают, проверьте настройки в:

- AutoKey (менеджер текстовых сокращений),

- Albert (лаунчер приложений),

- Flameshot (утилита для скриншотов),

- Picom (композитор окон).

Эти программы могут перехватывать сочетания клавиш.

Если проблема сохраняется, сбросьте настройки dconf:

dconf reset -f /org/gnome/desktop/input-sources/

Установлен ли пакет xkb-data?|Проверены ли конфликты в gsettings?|Перезапущен ли gnome-shell после изменений?|Пробовали ли сбросить настройки dconf?-->

6. Альтернативные методы: fcitx, ibus и локальные настройки

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

Установка fcitx в Ubuntu/Debian:

sudo apt install fcitx fcitx-config-gtk

im-config -n fcitx

После установки:

  1. Откройте Fcitx Configuration из меню приложений.
  2. Добавьте нужные раскладки через кнопку +.
  3. Настройте переключение в разделе "Global Config""Hotkey".

Для ibus (популярен в Fedora):

sudo dnf install ibus ibus-libpinyin  # Fedora

ibus-setup

Локальные настройки пользователя (переопределяют системные) хранятся в файле ~/.xprofile. Добавьте туда:

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS=@im=fcitx

7. Особенности для серверных версий Linux (без GUI)

На серверах без графического интерфейса (например, Ubuntu Server или CentOS) раскладку меняют через консольные утилиты. Основной инструмент — loadkeys (для временных изменений) и редактирование /etc/vconsole.conf (для постоянных).

Чтобы временно загрузить русскую раскладку:

loadkeys ru

Для постоянной смены отредактируйте /etc/vconsole.conf:

KEYMAP=ru

FONT=LatArCyrHeb-16 # Шрифт с поддержкой кириллицы

Примените изменения:

sudo systemctl restart systemd-vconsole-setup

Если после перезагрузки раскладка сбрасывается, проверьте наличие файла /etc/locale.conf и добавьте туда:

LANG=ru_RU.UTF-8

LC_ALL=ru_RU.UTF-8

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

❓ Почему после обновления системы сбилась раскладка?

Причиной обычно становится обновление пакетов xkb-data или gnome-settings-daemon. Чтобы вернуть прежние настройки:

  1. Проверьте текущие раскладки: gsettings get org.gnome.desktop.input-sources sources.
  2. Сбросьте настройки: gsettings reset org.gnome.desktop.input-sources sources.
  3. Добавьте раскладки заново через GUI или gsettings.

Если проблема сохраняется, удалите кэш XKB:

sudo rm -rf /var/lib/xkb/*
❓ Как сделать, чтобы раскладка по умолчанию была русской?

В файле /etc/default/keyboard поменяйте порядок раскладок:

XKBLAYOUT="ru,us"

Или через gsettings:

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

Важно: первая раскладка в списке будет использоваться при старте системы.

❓ Горячие клавиши работают, но индикатор языка не отображается. Как исправить?

В GNOME индикатор может скрываться из-за расширений или сбоя gnome-shell. Попробуйте:

  1. Перезапустите GNOME Shell: Alt+F2 → введите rEnter.
  2. Установите расширение "Kimpanel" для лучшей интеграции:
  3. sudo apt install gnome-shell-extension-kimpanel
  4. Включите отображение индикатора в dconf-editor по пути: /org/gnome/shell/extensions/dash-to-panel/show-input-source.
❓ Можно ли назначить переключение раскладки на правый Alt?

Да, для этого используйте опцию grp:ralt_toggle:

setxkbmap -option grp:ralt_toggle

Или для Wayland:

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

Обратите внимание: правый Alt (AltGr) часто используется для ввода спецсимволов (например, @, #), поэтому это может вызвать конфликты.

❓ Как добавить третью раскладку (например, украинскую)?

Добавьте её в список через запятую:

setxkbmap -layout us,ru,ua -option grp:alt_shift_toggle

Или через gsettings:

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

Для переключения между тремя раскладками удобно использовать grp:win_space_toggle (по кругу) или grp:alt_shift_toggle_us (прямое переключение на английскую).

⚠️ Внимание: При использовании setxkbmap в скриптах автозагрузки (например, в ~/.bashrc) добавьте проверку на наличие X-сервера, иначе команда вызовет ошибку в терминале:
if [ -n "$DISPLAY" ]; then

setxkbmap -layout us,ru -option grp:alt_shift_toggle

fi

⚠️ Внимание: В некоторых дистрибутивах (например, Kali Linux) по умолчанию отключены дополнительные раскладки из соображений безопасности. Чтобы их включить, отредактируйте файл /etc/default/keyboard и выполните sudo dpkg-reconfigure keyboard-configuration.