Мини-компьютер Raspberry Pi стал незаменимым инструментом для энтузиастов, разработчиков и даже офисных пользователей. Однако после первой установки операционной системы многие сталкиваются с неожиданной проблемой: система игнорирует родную раскладку клавиатуры или предлагает только английскую. Это создаёт дискомфорт при наборе текста, особенно если вы работаете с кириллицей или специальными символами.
В отличие от традиционных ПК, где смена языка происходит за два клика, на Raspberry Pi этот процесс требует ручной настройки через консоль или графический интерфейс. Причём методы отличаются в зависимости от версии ОС: Raspberry Pi OS (ранее Raspbian), Ubuntu Server или Debian. В этой статье мы разберём все актуальные способы — от редактирования конфигурационных файлов до использования утилиты raspi-config, а также решим типичные ошибки, такие как "сбитые" символы после переключения или отсутствие индикатора языка.
Особое внимание уделим нюансам для разных моделей Raspberry Pi (от Pi 3 до Pi 5) и версий ОС. Если вы подключаетесь к устройству по SSH или используете его в режиме headless (без монитора), вам пригодятся команды для удалённой настройки. А для тех, кто предпочитает графический интерфейс, мы покажем, как настроить переключение раскладок через меню Desktop Environment.
1. Подготовка: проверка текущей раскладки и кодировки
Прежде чем добавлять новую раскладку, убедитесь, что система корректно определяет вашу клавиатуру. Часто проблема кроется не в отсутствии русского языка, а в неправильной кодировке или драйвере.
Выполните в терминале команду:
setxkbmap -query
Она выведет текущие настройки, например:
rules: evdev
model: pc105
layout: us
variant: ,
options:
Если в поле layout указано us, значит активна американская раскладка. Обратите также внимание на поле model — оно должно соответствовать вашей физической клавиатуре (например, pc104 для ноутбуков, pc105 для стандартных клавиатур).
Проверьте кодировку локали командой:
locale
В выводе найдите строки LANG и LC_CTYPE. Для корректной работы с кириллицей они должны содержать UTF-8, например:
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
⚠️ Внимание: Если в выводеlocaleесть строкаPOSIXилиC, это означает, что локаль не настроена. В таком случае после добавления раскладки символы могут отображаться как????.
2. Добавление раскладки через raspi-config (рекомендуемый способ)
Самый простой и надёжный метод — использовать встроенную утилиту raspi-config. Она доступна во всех версиях Raspberry Pi OS и позволяет настроить раскладку без ручного редактирования файлов.
Выполните в терминале:
sudo raspi-config
Далее:
- Перейдите в
Localisation Options(навигация клавишами↑/↓, выбор —Enter). - Выберите
Keyboard. - В списке моделей клавиатур укажите вашу (обычно
Generic 105-key (Intl) PC). - На вопрос о раскладке выберите
Other→Russian(или другой нужный язык). - Укажите вариант раскладки (например,
Russian - Winkeysдля стандартной русской). - Настройте комбинацию для переключения (обычно
Alt+ShiftилиCtrl+Shift). - Сохраните изменения и перезагрузите систему.
Обновите систему командой sudo apt update && sudo apt upgrade|
Подключите клавиатуру напрямую к Raspberry Pi (не по USB-хабу)|
Убедитесь, что у вас есть права sudo (введите sudo whoami — должно вернуть root)|
Сделайте резервную копию текущих настроек командой cp /etc/default/keyboard /etc/default/keyboard.bak
-->
После перезагрузки проверьте работу раскладки. Если переключение не работает, попробуйте вручную применить настройки:
setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle"
⚠️ Внимание: В некоторых версиях Raspberry Pi OS Lite (без графического интерфейса) утилитаraspi-configможет не сохранять настройки раскладки в файле/etc/default/keyboard. В этом случае используйте метод ручного редактирования (см. следующий раздел).
3. Ручное редактирование конфигурационного файла
Если raspi-config не помог или вы используете другую ОС (например, Ubuntu Server), настройте раскладку вручную через файл /etc/default/keyboard.
Откройте файл в редакторе nano:
sudo nano /etc/default/keyboard
Найдите строки и измените их согласно таблице ниже:
| Параметр | Значение для английской + русской раскладки | Описание |
|---|---|---|
XKBMODEL |
"pc105" |
Модель клавиатуры (105 клавиш для стандартной PC-клавиатуры) |
XKBLAYOUT |
"us,ru" |
Список раскладок (первая — основная, вторая — дополнительная) |
XKBVARIANT |
"" или "winkey" |
Вариант раскладки (например, winkey для русской с расположением клавиш как в Windows) |
XKBOPTIONS |
"grp:alt_shift_toggle,grp_led:scroll" |
Опции: переключение по Alt+Shift и индикация на Scroll Lock |
Пример готового файла:
# Keyboard configuration file
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=""
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"
Сохраните изменения (Ctrl+O → Enter) и закройте редактор (Ctrl+X). Затем примените настройки:
sudo setupcon
4. Настройка переключения раскладок в графическом интерфейсе
Если вы используете Raspberry Pi OS Desktop (с графической оболочкой PIXEL), можно настроить раскладки через меню:
Шаги:
- Откройте главное меню (значок малины в левом верхнем углу).
- Перейдите в
Preferences→Mouse and Keyboard Settings. - Во вкладке
KeyboardнажмитеKeyboard Layout. - Нажмите
Addи выберите нужный язык (например,Russian). - Установите галочку
Use system defaults, если хотите использовать настройки из/etc/default/keyboard. - На вкладке
Optionsнастройте комбинацию для переключения (например,Alt+Shift).
В графическом режиме также доступен индикатор текущей раскладки на панели задач. Если он не отображается:
- 🔹 Кликните правой кнопкой по панели задач →
Add / Remove Panel Items. - 🔹 Добавьте
Keyboard Layout Switcher. - 🔹 Настройте отображение флага или аббревиатуры языка.
Если после настройки символы отображаются некорректно (например, ???? вместо кириллицы), проверьте шрифты в системе. Установите пакет с поддержкой кириллицы:
sudo apt install fonts-freefont-ttf ttf-mscorefonts-installer
5. Решение типичных проблем
Даже после правильной настройки могут возникать ошибки. Разберём самые распространённые:
5.1. Раскладка сбрасывается после перезагрузки
Причина: настройки не применяются в виртуальных консолях (ttY1–ttY6). Решение:
sudo dpkg-reconfigure keyboard-configuration
В процессе выберите:
- 🔹 Модель клавиатуры:
Generic 105-key PC. - 🔹 Раскладку:
Russian(или другую нужную). - 🔹 Комбинацию переключения:
Alt+Shift.
5.2. Не работает переключение в терминале
Если в графическом интерфейсе раскладки переключаются, но в терминале (Ctrl+Alt+F1) — нет, выполните:
sudo loadkeys ru
Чтобы сделать это постоянно, добавьте команду в /etc/rc.local (перед строкой exit 0).
5.3. Символы набираются неверно (например, "й" печатает "q")
Это происходит, если физическая раскладка клавиатуры не совпадает с настроенной в системе. Проверьте:
- 🔹 Физическую модель клавиатуры (нажмите клавишу слева от
1— если это`~, тоus; еслиё, тоru). - 🔹 Параметр
XKBMODELв/etc/default/keyboard(для ноутбуков может потребоватьсяpc104).
Что делать, если после обновления системы раскладка слетела?
После обновления ядра или пакетов локализации (locales) настройки клавиатуры могут сброситься. Восстановите их:
1. Проверьте, не изменился ли файл /etc/default/keyboard (сравните с резервной копией).
2. Переустановите пакет keyboard-configuration:
sudo apt install --reinstall keyboard-configuration
3. Примените настройки заново:
sudo dpkg-reconfigure keyboard-configuration
6. Настройка раскладки для Ubuntu Server на Raspberry Pi
Если вы используете Ubuntu Server (например, на Raspberry Pi 4/5), процесс отличается от Raspberry Pi OS. Здесь нет raspi-config, поэтому настройка ведётся через localectl.
Проверьте текущие настройки:
localectl status
Добавьте русскую раскладку:
sudo localectl set-keymap ru
Для нескольких раскладок (например, английская + русская) отредактируйте файл:
sudo nano /etc/default/keyboard
И добавьте:
XKBLAYOUT="us,ru"
XKBOPTIONS="grp:alt_shift_toggle"
Примените изменения:
sudo setupcon --save
В Ubuntu Server также может потребоваться установить пакеты локализации:
sudo apt install locales
sudo dpkg-reconfigure locales
В списке выберите ru_RU.UTF-8.
⚠️ Внимание: В Ubuntu Server 22.04+ для Raspberry Pi может отсутствовать пакетkeyboard-configuration. В этом случае используйте толькоlocalectlи ручное редактирование/etc/default/keyboard.
7. Горячие клавиши и альтернативные методы переключения
По умолчанию в Raspberry Pi OS переключение раскладок настроено на Alt+Shift, но вы можете изменить его на любое другое сочетание. Доступные опции:
| Опция | Описание | Пример для XKBOPTIONS |
|---|---|---|
grp:alt_shift_toggle |
Переключение по Alt+Shift (нажатие и отпускание) |
"grp:alt_shift_toggle" |
grp:ctrl_shift_toggle |
Переключение по Ctrl+Shift |
"grp:ctrl_shift_toggle" |
grp:win_space_toggle |
Переключение по Win+Пробел |
"grp:win_space_toggle" |
grp:caps_toggle |
Переключение по Caps Lock |
"grp:caps_toggle" |
grp_led:scroll |
Индикация текущей раскладки на Scroll Lock |
"grp:alt_shift_toggle,grp_led:scroll" |
Чтобы применить новую комбинацию, отредактируйте /etc/default/keyboard и выполните:
sudo setupcon
Для временного переключения (до перезагрузки) используйте:
setxkbmap -option "grp:ctrl_shift_toggle"
alias ru='setxkbmap ru'
alias us='setxkbmap us'
Теперь можно переключаться командами ru и us.-->
8. Проверка и тестирование раскладки
После настройки проверьте работу раскладок:
- 🔹 В графическом интерфейсе: откройте текстовый редактор (
LeafpadилиGeany) и попробуйте набрать текст на обоих языках. - 🔹 В терминале: выполните
cat > test.txt, наберите текст, затемCtrl+C. Проверьте содержимое файла:cat test.txt. - 🔹 В
SSH: подключитесь с другого устройства и проверьте ввод символов.
Если символы отображаются как ????:
- Проверьте кодировку терминала: она должна быть
UTF-8. - Установите шрифты с поддержкой кириллицы:
sudo apt install fonts-dejavu-core. - Для
SSH-клиентов (например, PuTTY) настройте кодировку в параметрах подключения:Window → Translation → UTF-8.
Важно: На Raspberry Pi 5 с 64-битной ОС может потребоваться дополнительная настройка драйвера клавиатуры для USB-устройств с нестандартными раскладками (например, эргономичных клавиатур). В этом случае установите пакет xkb-data последней версии:
sudo apt install xkb-data
sudo dpkg-reconfigure xkb-data
FAQ: Частые вопросы
Можно ли добавить больше двух раскладок?
Да, в файле /etc/default/keyboard укажите нужные раскладки через запятую, например:
XKBLAYOUT="us,ru,de"
Переключение будет цикличным: US → RU → DE → US.
Как сделать, чтобы раскладка по умолчанию была русской?
Поменяйте порядок раскладок в XKBLAYOUT:
XKBLAYOUT="ru,us"
Первая раскладка в списке становится основной.
Почему не работает индикатор языка на панели задач?
Убедитесь, что в XKBOPTIONS указана опция grp_led:scroll или grp_led:caps. Если индикатор всё равно не появляется:
- Перезапустите графическую оболочку:
sudo systemctl restart lightdm. - Проверьте, установлен ли пакет
lxpanel(для PIXEL):sudo apt install lxpanel.
Как настроить раскладку для Bluetooth-клавиатуры?
Для Bluetooth-клавиатур процесс аналогичный, но предварительно убедитесь, что устройство подключено:
bluetoothctl
power on
agent on
scan on
pair <MAC-адрес>
connect <MAC-адрес>
После подключения настройте раскладку как для обычной клавиатуры. Если символы набираются неверно, проверьте модель клавиатуры в XKBMODEL (например, для Apple Magic Keyboard может потребоваться macintosh).
Где взять список всех доступных раскладок и вариантов?
Посмотрите список поддерживаемых раскладок командой:
localectl list-keymaps
Для вариантов (например, phonetic для русской фонетической раскладки):
ls /usr/share/X11/xkb/symbols/
Файлы с расширением .lst содержат описания вариантов.