После установки системы пользователь часто обнаруживает, что в Kali Linux раскладка клавиатуры не переключается стандартным сочетанием клавиш, что критично для ввода команд в терминале. Проблема заключается в отсутствии привязки горячих клавиш к переключению между английским и русским языками в конфигурационных файлах окружения. Без корректной настройки ввод паролей или седокментов становится невозможным без использования мыши.
Решение требует вмешательства в настройки xkb или использование утилитами графического окружения, в зависимости от выбранного сеанса пользователя. Наиболее частая причина сбоя — отсутствие драйверов или неправильная конфигурация файла ~/.xprofile. В этом материале мы разберем все доступные методы, от простых графических настроек до редактирования системных конфигураций через консоль.
Проверка текущего состояния раскладки в терминале
Первым шагом перед изменением настроек необходимо убедиться в текущем состоянии системы и понять, какие раскладки уже загружены. Для этого откройте терминал и введите команду localectl status, которая покажет системную локаль и текущую раскладку клавиатуры. Если система работает в режиме, не поддерживающем Xorg, этот вывод может быть ограниченным, поэтому лучше использовать специализированные утилиты.
Используйте утилиту setxkbmap -query для получения детальной информации о текущей карте клавиатуры. Эта команда выдаст список активных раскладок и варианты, которые в данный момент применяются к вашему устройству ввода. Если в выводе вы видите только us, значит, русская раскладка еще не добавлена в систему.
⚠️ Внимание: Вывод команды setxkbmap может не отражать изменения, если они внесены только в графическом интерфейсе, но не применены к текущей сессии X11.
Для мгновенного переключения без изменения настроек можно временно применить русскую раскладку командой setxkbmap ru. Это действие сработает только до перезапуска сеанса, но поможет проверить работоспособность клавиатуры.
Настройка через графический интерфейс GNOME
Если вы используете окружение рабочего стола GNOME, которое является стандартным для многих установок Kali, процесс настройки интуитивно понятен. Зайдите в меню Настройки и выберите раздел Клавиатура. В нижней части окна найдите кнопку Добавить раскладку и выберите в списке Русский.
После добавления языка необходимо настроить сочетание клавиш для переключения. Перейдите в раздел Просмотр и изменение сочетаний клавиш и найдите категорию Ввод. Здесь вы сможете назначить горячую клавишу, например Super + Space или Alt + Shift, для переключения между языками.
☑️ Горячие клавиши GNOME
Важно понимать, что в GNOME используется механизм IBus, который может конфликтовать с некоторыми утилитами, если они настроены на XKBCOMMON. Если переключение не происходит, попробуйте перезапустить службу ввода командой ibus restart.
Использование утилиты setxkbmap для быстрой смены
Для опытных пользователей, работающих в терминале, наиболее быстрым способом смены языка является использование утилиты setxkbmap. Это стандартный инструмент X Window System, позволяющий управлять раскладкой без перезагрузки системы. Команда setxkbmap us,ru добавляет английскую и русскую раскладки в один список.
Чтобы переключаться между ними, нужно назначить ключ переключения. Выполните команду setxkbmap -option grp:alt_shift_toggle us,ru. Эта команда мгновенно активирует переключение по комбинации Alt+Shift. Вы можете заменить alt_shift_toggle на ctrl_shift_toggle или win_space в зависимости от ваших предпочтений.
Дополнительные варианты переключения
grp:caps_toggle — переключение по Caps Lock;grp:shift_toggle — по правому Shift;grp:alt_shift_toggle — классический Alt+Shift.
Если вы хотите добавить раскладку временно только для текущего сеанса, просто запустите команду без сохранения. Однако при перезагрузке настройки сбрасываются до значений, прописанных в конфигурационных файлах. Чтобы сделать изменения постоянными, необходимо добавить команду в автозагрузку.
⚠️ Внимание: Использование setxkbmap в скриптах автозагрузки может вызвать ошибки, если интерфейс X уже запустился раньше. Убедитесь, что команда выполняется после инициализации графической подсистемы.
Постоянная настройка через конфигурационные файлы
Для того чтобы настройки раскладки сохранялись после перезагрузки, необходимо отредактировать системные конфигурационные файлы. В Kali Linux это часто делается через файл /etc/default/keyboard. Откройте его с правами суперпользователя: sudo nano /etc/default/keyboard.
В этом файле найдите строку XKBLAYOUT и измените её значение на "us,ru". Также убедитесь, что параметр XKBOPTIONS содержит нужную опцию переключения, например grp:alt_shift_toggle. После сохранения файла перезапустите графическую сессию или выполните команду sudo service gdm3 restart (или sddm, lightdm в зависимости от менеджера входа).
| Параметр | Значение | Описание |
| :--- | :--- | :--- |
| XKBLAYOUT | "us,ru" | Список активных раскладок клавиатуры |
| XKBMODEL | "pc105" | Тип модели клавиатуры (обычно стандартный) |
| XKBVARIANT | "" | Специфические варианты раскладки (например, "phonetic") |
| XKBOPTIONS | "grp:alt_shift_toggle" | Комбинация клавиш для переключения языка |
Настройка для окружения KDE Plasma и XFCE
Если вы используете KDE Plasma, настройки раскладки находятся в Системные настройки -> Ввод -> Клавиатура. Вкладка Раскладки позволяет добавить нужный язык и выбрать способ переключения. В KDE используется утилита k keyboard, которая управляет раскладками независимо от XKB.
Для окружения XFCE, которое популярно в облегченных версиях Kali, процесс немного отличается. Зайдите в Настройки -> Клавиатура и выберите вкладку Раскладка. Убедитесь, что галочка Настроить раскладку клавиатуры активирована. Здесь можно добавить языки и выбрать переключатель, например Alt+Shift.
Важно отметить, что в KDE и XFCE могут быть конфликты, если одновременно активирована настройка в графическом интерфейсе и прописана команда в терминале. Рекомендуется выбрать один метод и отключить другой, чтобы избежать дублирования настроек и конфликтов ввода.
Решение проблем с переключением в терминале
Иногда в терминале Kali переключение языка не работает, даже если в графическом интерфейсе всё настроено верно. Это происходит потому, что терминал может использовать набор символов, отличный от текущего locale. Проверьте переменные окружения командой echo $LANG.
Если значение не соответствует ru_RU.UTF-8 или en_US.UTF-8, добавьте генерацию локалей командой sudo locale-gen и затем sudo update-locale. Также убедитесь, что в настройках самого терминала (например, GNOME Terminal или Terminator) не отключена поддержка переключения раскладок.
⚠️ Внимание: Некоторые эмуляторы терминала имеют собственные настройки клавиш, которые могут перехватывать комбинации Alt+Tab или Alt+Shift до того, как они дойдут до системы.
Частые ошибки и их устранение
Одной из частых проблем является отсутствие драйверов для специфических клавиатур, особенно на ноутбуках с нестандартными контроллерами. В этом случае проверьте наличие драйверов через lsmod | grep xkb. Если модуль не загружен, попробуйте его загрузить командой sudo modprobe xkb.
Другая проблема возникает при использовании Wayland вместо X11. В сессиях Wayland настройки setxkbmap могут не работать корректно, так как используется новый протокол ввода. В этом случае настройки нужно менять через gsettings или настройки окружения, поддерживающего Wayland.
Как проверить сессию
Введите echo $XDG_SESSION_TYPE. Если ответ x11, используйте setxkbmap. Если wayland, используйте настройки окружения GNOME/KDE.
В таблице ниже представлены основные коды ошибок и способы их решения при работе с раскладкой.
| Код ошибки | Причина | Решение |
| :--- | :--- | :--- |
| Failed to load | Отсутствует файл раскладки | Установить пакеты xkb-data |
| No such module | Модуль ядра не загружен | Выполнить modprobe xkb |
| Permission denied | Нет прав суперпользователя | Использовать sudo |
| Key conflict | Конфликт с другим приложением | Переопределить горячие клавиши |
FAQ: Популярные вопросы по настройке
Почему переключение языка работает в браузере, но не в терминале?
Это может быть связано с тем, что терминал использует другую переменную окруженияLANGили не поддерживает текущую раскладку. Проверьте вывод командыlocaleвнутри терминала и убедитесь, что он совпадает с системным. Также возможно, что в терминале отключена поддержка переключения раскладок в настройках самого приложения.
Как вернуть стандартную раскладку, если я случайно изменил все настройки?
Самый быстрый способ — выполнить команду setxkbmap us в терминале. Если это не помогает, перезагрузите компьютер. Также можно сбросить настройки клавиатуры до заводских через графический интерфейс, удалив все добавленные раскладки и оставив только английскую.
Можно ли использовать русскую раскладку в режиме восстановления (Recovery Mode)?
В режиме восстановления графический интерфейс обычно не загружается, поэтому работают только локальные раскладки, определенные в /etc/default/keyboard. Если вы хотите ввести пароль на русском, убедитесь, что в этом файле прописана русская раскладка до перезагрузки в режим восстановления.
Какая лучшая комбинация клавиш для переключения языка в Kali?
Классическим стандартом является Alt+Shift или Ctrl+Shift. Для пользователей, привыкших к macOS, подходит Super+Space. Выбор зависит от личных предпочтений, но важно, чтобы комбинация не конфликтовала с горячими клавишами самого окружения рабочего стола.