Если после установки Raspberry Pi OS (ранее Raspbian) клавиатура печатает не те символы, а сочетания Alt+Shift или Ctrl+Space не работают — проблема в неверных настройках раскладки. Чаще всего это происходит из-за автоматического выбора английской раскладки (us) при первом запуске или после обновления системы. В 90% случаев достаточно перенастроить параметры в графическом интерфейсе или отредактировать конфигурационный файл /etc/default/keyboard вручную.
Особенность Raspberry Pi — использование легковесного окружения рабочего стола PIXEL (на базе LXDE), где стандартные методы смены языка могут не срабатывать. Например, в консольном режиме (tty) переключение раскладки требует установки дополнительного ПО вроде loadkeys, а в графическом интерфейсе — корректировки настроек iBus или fcitx. Ниже разберём все актуальные способы для Raspberry Pi 4/5 и Zero 2 W на базе Raspberry Pi OS Bullseye/Bookworm.
1. Проверка текущей раскладки и диагностика проблемы
Прежде чем менять настройки, убедитесь, что проблема именно в раскладке, а не в драйвере клавиатуры. Выполните в терминале команду:
cat /etc/default/keyboard
Обратите внимание на параметры:
- 🔹
XKBMODEL— модель клавиатуры (обычноpc105для стандартных USB-клавиатур). - 🔹
XKBLAYOUT— основная раскладка (например,us,ru,de). - 🔹
XKBVARIANT— вариант раскладки (например,phoneticдля русской фонетической). - 🔹
XKBOPTIONS— дополнительные опции (здесь может быть прописано сочетание для переключения, напримерgrp:alt_shift_toggle).
Если в выводе указано XKBLAYOUT="us", а вам нужна русская раскладка — проблема в конфигурации. Если параметры верные, но переключение не работает, проверьте:
- 🔌 Подключена ли клавиатура к USB-порту Raspberry Pi (на некоторых моделях Zero требуется OTG-адаптер).
- 🖥️ Работает ли клавиатура в BIOS другого ПК (исключите аппаратную неисправность).
- 🔄 Перезагрузите устройство — иногда изменения применяются только после ребута.
⚠️ Внимание: Если в выводе командыcat /etc/default/keyboardотсутствует файл или параметры — ваша система использует устаревший метод настройки (например, черезraspi-config). Переходите к методу 2.
2. Настройка раскладки через raspi-config (рекомендуемый способ)
Самый надёжный способ изменить раскладку — использовать встроенный инструмент конфигурации raspi-config. Он автоматически обновляет все необходимые файлы и применяет изменения без ручного редактирования. Выполните:
sudo raspi-config
Далее:
- Выберите пункт
5 Localisation Options→I3 Change Keyboard Layout. - В списке Keyboard model оставьте
Generic 105-key (Intl) PC(или выберите свою модель). - В Keyboard layout укажите страну (например,
Russianдля русской раскладки). - В Key to toggle layout выберите сочетание клавиш (рекомендуется
Alt+ShiftилиCaps Lock). - Сохраните изменения и перезагрузите Raspberry Pi.
После перезагрузки проверьте работу раскладки в терминале и графическом интерфейсе. Если сочетание клавиш не срабатывает, вернитесь в raspi-config и повторите шаги, выбрав другое сочетание (например, Ctrl+Shift).
Подключена ли клавиатура к USB-порту Raspberry Pi?|Есть ли доступ к терминалу (локальному или по SSH)?|Сделан ли бэкап важных файлов (на случай сбоя)?|Выбран ли правильный язык системы в настройках локализации?-->
3. Ручное редактирование файла /etc/default/keyboard
Если raspi-config не помог или вы предпочитаете ручную настройку, отредактируйте конфигурационный файл:
sudo nano /etc/default/keyboard
Приведите файл к следующему виду (пример для русской и английской раскладок с переключением по Alt+Shift):
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
Расшифровка параметров:
| Параметр | Значение | Пример |
|---|---|---|
XKBLAYOUT |
Список раскладок через запятую (первая — основная). | us,ru или de,fr |
XKBVARIANT |
Варианты раскладок (например, фонетическая для русского). | phonetic или оставьте пустым |
XKBOPTIONS |
Опции переключения и индикации. | grp:alt_shift_toggle или grp:ctrl_shift_toggle |
grp_led |
Индикатор активной раскладки (например, scroll для Scroll Lock). |
grp_led:scroll или grp_led:caps |
После сохранения (Ctrl+O → Enter → Ctrl+X) перезагрузите систему:
sudo reboot
⚠️ Внимание: Если после редактирования файла клавиатура перестала работать вовсе, подключитесь к Raspberry Pi по SSH с другого устройства и верните исходные настройки или воспользуйтесь командой sudo dpkg-reconfigure keyboard-configuration.
4. Настройка раскладки в графическом интерфейсе (PIXEL)
Если вы используете графическое окружение PIXEL, раскладку можно изменить через меню:
- Откройте
Main Menu→Preferences→Mouse and Keyboard Settings. - Перейдите на вкладку
Keyboard. - Нажмите
Add...и выберите нужный язык (например, Russian). - Установите галочку
Use keyboard layout optionsи настройте сочетание для переключения.
В Raspberry Pi OS Bookworm (на базе Debian 12) вместо PIXEL может использоваться Wayland, где настройки раскладки управляются через iBus или fcitx. Если стандартный метод не сработал:
- 🐧 Установите iBus:
sudo apt install ibus - 🔄 Добавьте раскладку через
ibus-setup(доступно в менюPreferences). - 🔧 Перезапустите iBus:
ibus restart
5. Переключение раскладки в консольном режиме (tty)
В текстовой консоли (tty1–tty6, доступ по Ctrl+Alt+F1–F6) раскладка управляется утилитой loadkeys. Установите её:
sudo apt install console-data console-setup
Затем загрузите нужную раскладку (например, русскую):
sudo loadkeys ru
Для постоянного применения отредактируйте файл /etc/rc.local (создайте его, если отсутствует):
sudo nano /etc/rc.local
Добавьте строку перед exit 0:
/usr/bin/loadkeys ru
Чтобы переключаться между раскладками в консоли, используйте:
- 🔹
loadkeys us— английская. - 🔹
loadkeys ru— русская. - 🔹
loadkeys de— немецкая.
⚠️ Внимание: В консольном режиме не работают горячие клавиши для переключения — только ручная смена черезloadkeys. Для автоматического переключения потребуется скрипт на Bash с привязкой к сочетанию клавиш (например, черезxbindkeysв графическом режиме).
Английскую (us)|Русскую (ru)|Немецкую (de)|Французскую (fr)|Другую-->
6. Устранение распространённых ошибок
Если раскладка не переключается несмотря на настройки, проверьте:
Ошибка 1: Не работает сочетание клавиш
Причина: конфликт с другими горячими клавишами или неверные опции в XKBOPTIONS.
- 🔧 Проверьте текущие опции:
setxkbmap -query - 🔄 Принудительно установите сочетание:
setxkbmap -option grp:alt_shift_toggle - 📝 Добавьте команду в автозагрузку (для графического режима).
Ошибка 2: Раскладка сбрасывается после перезагрузки
Причина: не сохранены настройки в /etc/default/keyboard или конфликт с lightdm.
- 🔧 Переконфигурируйте клавиатуру:
sudo dpkg-reconfigure keyboard-configuration - 🔄 Переустановите пакет
keyboard-configuration:sudo apt install --reinstall keyboard-configuration
Ошибка 3: В консоли отображаются неверные символы
Причина: неверный шрифт или кодировка консоли.
- 🔧 Установите шрифт с поддержкой кириллицы:
sudo apt install console-cyrillic - 🔄 Измените кодировку консоли в
/etc/default/console-setup:CHARMAP="UTF-8"
Список поддерживаемых раскладок в Raspberry Pi OS
В системе доступны следующие раскладки (полный список в /usr/share/X11/xkb/rules/base.lst):
- us (Английская)
- ru (Русская)
- de (Немецкая)
- fr (Французская)
- es (Испанская)
- it (Итальянская)
- ua (Украинская)
- by (Белорусская)
- kz (Казахская)
Для фонетических вариантов используйте параметр XKBVARIANT (например, "ru" + "phonetic").
7. Альтернативные методы: xkb, setxkbmap, fcitx
Если стандартные способы не сработали, воспользуйтесь продвинутыми инструментами:
Метод 1: setxkbmap (временное изменение)
Команда позволяет менять раскладку "на лету" без редактирования конфигов. Примеры:
- 🔹 Установить русскую раскладку:
setxkbmap -layout ru - 🔹 Добавить две раскладки (us + ru) с переключением по
Alt+Shift:setxkbmap -layout us,ru -option grp:alt_shift_toggle - 🔹 Посмотреть текущие настройки:
setxkbmap -print -verbose 10
Метод 2: fcitx (для сложных конфигураций)
Fcitx — продвинутая система ввода, поддерживающая несколько языков, темы и плагины. Установите её:
sudo apt install fcitx fcitx-config-gtk fcitx-ui-classic
Затем:
- Добавьте в
~/.xprofileстроки:export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx-autostart
- Перезагрузитесь и настройте fcitx через графический интерфейс (
fcitx-configtool).
Метод 3: Ручное редактирование xkb
Для опытных пользователей: скопируйте стандартную раскладку и модифицируйте её:
mkdir -p ~/.xkb/symbols
cp /usr/share/X11/xkb/symbols/us ~/.xkb/symbols/custom
nano ~/.xkb/symbols/custom
Затем примените её:
setxkbmap -layout custom
FAQ: Частые вопросы по раскладке на Raspberry Pi
🔹 Почему после обновления системы сбросилась раскладка?
Причиной может быть обновление пакетов keyboard-configuration или xkb-data. Верните настройки через sudo raspi-config или проверьте целостность файла /etc/default/keyboard. Если проблема повторяется, зафиксируйте версию пакета:
sudo apt-mark hold keyboard-configuration
🔹 Как сделать, чтобы индикатор раскладки показывался на панели задач?
В PIXEL по умолчанию нет визуального индикатора. Установите расширение lxpanel:
sudo apt install lxpanel
Затем добавьте апплет Keyboard Layout Switcher через настройки панели (Panel Preferences → Add Panel Applet).
🔹 Можно ли использовать Caps Lock для переключения раскладки?
Да, для этого отредактируйте XKBOPTIONS в /etc/default/keyboard:
XKBOPTIONS="grp:caps_toggle"
После перезагрузки Caps Lock будет переключать языки. Чтобы отключить стандартное поведение Caps Lock, добавьте:
XKBOPTIONS="grp:caps_toggle,caps:none"
🔹 Почему в некоторых программах (например, LibreOffice) раскладка не меняется?
Некоторые приложения (особенно на Java или Qt) игнорируют системные настройки. Решения:
- 🔧 Установите fcitx и настройте его как основной метод ввода.
- 🔄 Перезапустите приложение после смены раскладки.
- 📝 Для LibreOffice проверьте настройки в
Tools→Options→Language Settings.
🔹 Как настроить раскладку для Bluetooth-клавиатуры?
Bluetooth-клавиатуры настраиваются аналогично USB, но могут требовать дополнительных драйверов. Сначала подключите устройство:
bluetoothctl
scan on
pair [MAC-адрес]
connect [MAC-адрес]
Затем настройте раскладку через raspi-config или /etc/default/keyboard. Если клавиши работают некорректно, обновите прошивку Raspberry Pi:
sudo rpi-update