Как в Linux показать текущую раскладку клавиатуры: полное руководство

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

Проблема отсутствия визуального индикатора особенно актуальна для тех, кто часто печатает на нескольких языках: русском, английском, украинском или специальных раскладках вроде Colemak и Dvorak. Без визуальной подсказки легко запутаться и ввести текст не на том языке, что приводит к лишним правкам. К счастью, в Linux есть несколько способов решить эту проблему — от стандартных инструментов десктопных окружений до специализированных утилит.

Мы рассмотрим решения для самых популярных графических оболочек (GNOME, KDE Plasma, XFCE), а также универсальные методы, работающие в любом дистрибутиве — включая серверные системы без GUI. Особое внимание уделим настройке через терминал, что будет полезно администраторам и тем, кто предпочитает управлять системой через консоль.

1. Стандартные средства отображения раскладки в GNOME

Если вы используете Ubuntu, Fedora с оболочкой GNOME или любой другой дистрибутив на её основе, то наиболее простой способ отобразить текущую раскладку — воспользоваться встроенными настройками. По умолчанию в правом верхнем углу панели задач отображается индикатор языка, но его можно настроить или восстановить, если онSuddenly исчез.

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

  1. Откройте Настройки → Региональные стандарты и язык.
  2. Перейдите на вкладку Раскладка клавиатуры.
  3. Убедитесь, что в разделе Источники ввода добавлены нужные языки (например, Английский (США) и Русский).
  4. Активируйте опцию Показывать текущий источник ввода в меню.

Если индикатор не появляется даже после этих действий, проверьте расширения GNOME. Иногда конфликтующие плагины (например, Dash to Panel или ArcMenu) могут скрывать системные элементы. В таком случае:

  • 🔧 Откройте Расширения (gnome-extensions-app в терминале).
  • 🔍 Найдите расширение Input Sources и убедитесь, что оно включено.
  • 🔄 Перезагрузите оболочку, нажав Alt+F2, затем введя r и нажав Enter.
📊 Какую оболочку Linux вы используете?
GNOME
KDE Plasma
XFCE
Другую
Не знаю

Для более глубокой настройки внешнего вида индикатора (например, изменения цвета или размера) потребуется редактировать CSS-темы или устанавливать дополнительные расширения вроде Kimpanel. Однако это уже тема для отдельной статьи.

2. Настройка индикатора в KDE Plasma

KDE Plasma предлагает ещё больше возможностей для кастомизации отображения раскладки. Здесь индикатор по умолчанию более информативен: он показывает не только флаг страны, но и сокращённое название раскладки (например, RU или EN). Чтобы настроить его:

Откройте Настройки системы → Региональные настройки → Раскладка клавиатуры. В этом меню вы найдёте:

  • 🌍 Флаги стран — можно отключить, если они занимают слишком много места.
  • 📝 Показывать метку раскладки — включает текстовые обозначения (RU, EN).
  • 🔄 Порядок переключения — настройка последовательности смены языков.
  • 🖥️ Глобальное сочетание клавиш — изменение горячих клавиш (по умолчанию Alt+Shift или Ctrl+Space).

Если стандартный индикатор вас не устраивает, в KDE можно установить виджет Keyboard Layout Switcher из магазина KDE Store. Он поддерживает:

ФункцияОписание
Кастомизация иконокЗамена стандартных флагов на свои изображения
ПрозрачностьНастройка уровня прозрачности панели
ПозиционированиеРазмещение индикатора в любом углу экрана
Цветовые схемыАдаптация под тёмные/светлые темы
Горячие клавишиНазначение пользовательских сочетаний

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

3. Решение для XFCE и других лёгких окружений

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

В XFCE по умолчанию индикатор раскладки отсутствует. Чтобы его добавить:

  1. Кликните правой кнопкой по панели и выберите Добавить новые элементы.
  2. Найдите плагин Keyboard Layouts (или Indicador de disposición del teclado в некоторых локализациях).
  3. Добавьте его на панель и настройте отображаемые языки в свойствах плагина.

Если плагин отсутствует, его можно доустановить через пакетный менеджер. Например, в Debian/Ubuntu:

sudo apt install xfce4-xkb-plugin

Для LXQt процесс аналогичен, но плагин называется Keyboard Layout Switcher. После установки не забудьте перезапустить сессию (loginctl terminate-user $USER), чтобы изменения вступили в силу.

Установить плагин xfce4-xkb-plugin|Добавить элемент на панель|Настроить отображаемые раскладки|Перезагрузить сессию-->

В некоторых минималистичных окружениях (например, Openbox или i3) индикатор раскладки приходится настраивать вручную через утилиты вроде setxkbmap или внешние программы. Об этом мы поговорим в следующем разделе.

4. Универсальные консольные утилиты для всех дистрибутивов

Если вы работаете в серверной версии Linux без графического интерфейса или просто предпочитаете терминал, отображать текущую раскладку можно с помощью консольных команд. Это решение подходит для любых дистрибутивов — от Arch Linux до RHEL.

Самый простой способ — использовать команду setxkbmap с параметром -query:

setxkbmap -query | grep layout

Эта команда выведет текущую раскладку в формате:

layout:     us,ru

Чтобы сделать вывод более наглядным, можно создать alias в файле ~/.bashrc:

alias kblayout='setxkbmap -query | grep -E "layout|variant" | awk "{print \$2}" | tr "," "\n" | tail -1'

Теперь при вводе kblayout в терминале будет отображаться только активная раскладка (например, ru или us).

Для постоянного отображения раскладки в правом верхнем углу терминала можно использовать утилиту screen или tmux с кастомизированной строкой состояния. Например, в tmux добавьте в ~/.tmux.conf:

set -g status-right "#(setxkbmap -query | grep -oP 'layout:\s+\K\w+$') | %H:%M %d-%b-%y"
Как узнать все доступные раскладки в системе?

Чтобы увидеть список всех установленных раскладок, выполните команду:

localectl list-x11-keymap-layouts

Это пригодится, если вы хотите добавить редкую раскладку (например, Белорусскую или Грузинскую) или проверить, поддерживается ли нужный язык.

Для пользователей, которые хотят видеть раскладку прямо в приглашении командной строки (например, user@host [ru] ~ $), можно модифицировать файл ~/.bashrc, добавив функцию:

function prompt_layout {

setxkbmap -query | grep -oP 'layout:\s+\K\w+$' | tail -1

}

PS1='\u@\h [$([ -n "$(prompt_layout)" ] && echo "$(prompt_layout)")] \w\$ '

5. Специализированные программы для индикации раскладки

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

Самые популярные программы:

  • 🦊 Fcitx — мощная платформа ввода с поддержкой Pinyin, Mozc (японская раскладка) и других азиатских языков. Индикатор настраивается через fcitx-configtool.
  • 🐧 IBus — стандартный фреймворк ввода для GNOME, но работает и в других окружениях. Устанавливается пакетом ibus.
  • 🔄 xxkb — лёгкая утилита, показывающая раскладку в системном трее. Поддерживает смену языков по колесу мыши.
  • 📱 GXKB — графический индикатор с возможностью кастомизации внешнего вида (цвета, шрифты, положение).

Например, чтобы установить xxkb в Ubuntu/Debian:

sudo apt install xxkb

xxkb &

Для Fcitx потребуется дополнительная настройка. После установки (sudo apt install fcitx fcitx-config-gtk) добавьте в ~/.xprofile:

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS=@im=fcitx

fcitx-autostart

Если вы используете Wayland вместо X11, некоторые утилиты (например, xxkb) могут не работать. В этом случае обратите внимание на SwayKB или встроенные средства оболочки (например, Sway или GNOME on Wayland имеют свои механизмы индикации).

6. Автоматическое переключение раскладки по правилам

Для тех, кто хочет автоматизировать смену языка, существуют инструменты, анализирующие контекст ввода. Например, можно настроить:

  • 🔄 Автоматическое переключение на EN при вводе в терминале или редакторе кода.
  • 🌐 Смену раскладки по геолокации (если вы часто путешествуете).
  • 📝 Переключение на родной язык при открытии мессенджеров или социальных сетей.

Одна из таких утилит — XNeuralSwitcher. Она анализирует вводимый текст и автоматически переключает раскладку, если detects, что вы печатаете на "чужом" языке. Установить её можно из исходников:

git clone https://github.com/lorenzod8n/xneur.git

cd xneur

./configure

make

sudo make install

После установки добавьте в автозагрузку (~/.config/autostart/) файл xneur.desktop со следующим содержимым:

[Desktop Entry]

Type=Application

Name=XNeuralSwitcher

Exec=xneur

StartupNotify=false

Для настройки правил редактируйте конфигурационный файл ~/.xneur/xneur.rc. Например, чтобы игнорировать автоматические переключения в Vim, добавьте:

IgnoreApps = vim, gvim, nvim

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

7. Устранение распространённых проблем

Иногда индикатор раскладки перестаёт работать после обновления системы или смены оболочки. Вот самые частые проблемы и их решения:

Проблема 1: Индикатор исчез после обновления GNOME.

⚠️ Внимание: В новых версиях GNOME (42+) расширение Input Sources может конфликтовать с встроенным индикатором. Попробуйте отключить все расширения, связанные с раскладкой, через gnome-extensions disable.
  • 🔧 Переустановите пакет gnome-shell-extension-appindicator.
  • 🔄 Сбросьте настройки GNOME до дефолтных: dconf reset -f /org/gnome/desktop/input-sources/.

Проблема 2: Раскладка переключается, но индикатор не обновляется.

  • 🐛 Проверьте, не запущено ли несколько экземпляров менеджера раскладок (например, одновременно ibus и fcitx).
  • 🔄 Перезапустите менеджер раскладки:
    ibus restart  # или fcitx-restart

Проблема 3: В терминале отображается неверная раскладка.

  • 📋 Убедитесь, что переменная $LANG установлена корректно: echo $LANG должен выводить что-то вроде ru_RU.UTF-8.
  • 🔧 Переустановите локали: sudo dpkg-reconfigure locales (для Debian/Ubuntu).

Проблема 4: Горячие клавиши не работают.

⚠️ Внимание: В некоторых дистрибутивах (например, Ubuntu 22.04+) сочетание Ctrl+Shift по умолчанию заблокировано для переключения раскладки. Используйте Alt+Shift или настройте новое сочетание в Настройки → Клавиатура → Сочетания клавиш.
  • 🔑 Проверьте конфликты с другими сочетаниями через xev.
  • 🔧 Настройте клавиши вручную:
    gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['Alt_L']"

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

Как сделать так, чтобы раскладка сбрасывалась на английскую при запуске терминала?

Добавьте в ~/.bashrc строку:

setxkbmap -layout us

Если используете Zsh, добавьте её в ~/.zshrc.

Можно ли показывать раскладку в формате "RU/EN" вместо флагов?

Да. В GNOME это настраивается через расширение Kimpanel. В KDE отключите флаги в настройках раскладки и включите опцию Показывать метку раскладки.

Для терминала используйте alias, приведённый в разделе 4.

Почему после перезагрузки сбрасываются настройки раскладки?

Скорее всего, не сохранены настройки менеджера ввода. Для IBus выполните:

ibus write-cache

Для Fcitx проверьте, что в ~/.config/fcitx/config прописаны нужные раскладки.

Как добавить редкую раскладку (например, эсперанто или клингонский)?summary>

Сначала проверьте, поддерживается ли она системой:

localectl list-x11-keymap-layouts | grep -i "eo"

Если раскладки нет, её можно добавить вручную, скачав .xkb-файл и разместив его в /usr/share/X11/xkb/symbols/. После этого обновите правила:

sudo dpkg-reconfigure xkb-data
Можно ли сделать так, чтобы раскладка менялась в зависимости от окна?

Да, в KDE Plasma это называется Window-specific Overrides (см. раздел 2). В GNOME подобной функции нет, но её можно эмулировать через скрипты, отслеживающие активное окно (xdotool + setxkbmap).