Подробный гайд: Astra Linux Fly + xrdp — отключается клавиатура

Гайд по устранению отключения клавиатуры в xrdp на Astra Linux Fly. Настройка раскладки, прав доступа и автоинициализации ввода.

2026.05.01                  


Подробный гайд: Astra Linux Fly + xrdp — отключается клавиатураПодробный гайд: Astra Linux Fly + xrdp — отключается клавиатура

Проблема с «отключением» или неработоспособностью клавиатуры при подключении через xrdp в Astra Linux с окружением рабочего стола Fly обычно вызвана тремя факторами:

  1. Рассинхронизация раскладки между xrdp-клиентом и X-сессией.
  2. Отсутствие прав доступа к устройствам ввода (/dev/input/*) для сессии xrdp.
  3. Конфликт обработчиков ввода Fly DE с Xorg-бэкендом xrdp.

Ниже приведён пошаговый гайд по диагностике и устранению проблемы. Все пути и команды актуальны для Astra Linux CE/SE 1.7–1.8 (xrdp >= 0.9.19).


1. Предварительная диагностика

Перед внесением изменений проверьте:

# Версия ОС и xrdp
cat /etc/astra_version
xrdp -v

# Запущены ли службы
systemctl status xrdp xrdp-sesman

# Текущий бэкенд (должен быть Xorg)
grep -A5 '^\[Xorg\]' /etc/xrdp/xrdp.ini

Если в логах /var/log/xrdp-sesman.log или /var/log/xrdp.log есть строки Failed to initialize keyboard, Permission denied on /dev/input/... или No matching keymap, переходите к шагам ниже.


2. Настройка раскладки xrdp

xrdp не всегда корректно наследует системную раскладку. Явно укажите её в конфигурации:

2.1. /etc/xrdp/xrdp_keyboard.ini

Откройте файл и добавьте/отредактируйте секцию [default]:

[default]
keyboard_layout=us
keyboard_options=

Если работаете преимущественно на русском, можно указать keyboard_layout=ru. Но надёжнее оставить us и переключать раскладку внутри сессии.

2.2. /etc/xrdp/xrdp.ini

Убедитесь, что секция Xorg выглядит так:

[Xorg]
name=Xorg
lib=libxup.so
username=
password=
ip=127.0.0.1
port=-1
code=20

Перезапустите сервисы:

sudo systemctl restart xrdp xrdp-sesman

3. Права доступа и Xorg-обёртка

xrdp запускает X-сервер от имени пользователя. Если у сессии нет прав на /dev/input/*, клавиатура «отваливается» после загрузки Fly.

3.1. Разрешите запуск Xorg любому пользователю

sudo nano /etc/X11/Xwrapper.config

Установите:

allowed_users=anybody
needs_root_rights=no

3.2. Добавьте пользователя в группы ввода

sudo usermod -aG input,tty,video $USER

После выполнения обязательно перезагрузитесь или выйдите/войдите в систему, чтобы группы применились.


4. Специфика Fly DE и Astra Linux

Fly использует собственные обработчики горячих клавиш и может перехватывать ввод до инициализации setxkbmap внутри сессии xrdp.

4.1. Отключите конфликтующие горячие клавиши Fly (опционально)

Если в настройках Fly включены глобальные сочетания (например, Alt+Shift, Ctrl+Space), временно отключите их: - Пуск → Параметры → Горячие клавиши → Снять конфликтующие привязки

4.2. Автоматическая инициализация раскладки

Создайте файл ~/.xsessionrc (выполняется при старте X-сессии xrdp):

nano ~/.xsessionrc

Вставьте:

#!/bin/sh
sleep 2
export XKB_DEFAULT_LAYOUT=us,ru
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle
setxkbmap -layout us,ru -option grp:alt_shift_toggle

Сделайте исполняемым:

chmod +x ~/.xsessionrc

5. Диагностика через логи

Если клавиатура всё ещё не работает, соберите данные для точного анализа:

# В реальном времени следите за подключением
journalctl -u xrdp -u xrdp-sesman -f &

# Подключитесь через xrdp, затем остановите journalctl (Ctrl+C)

Ищите в выводе:

  • error on proc ... — проблема прав доступа
  • keymap mismatch — неверная раскладка в xrdp_keyboard.ini
  • Failed to load input driver — конфликт evdev/libinput

Логи сессии Xorg обычно лежат в ~/.xorgxrdp.10.log (или аналогичном, номер дисплея может отличаться). Проверьте строки (**) Option "XkbLayout" и (EE) Failed to open keyboard device.

6. Альтернативные решения и обновления

Симптом Решение
Клавиатура работает первые 5–10 секунд, потом отключается Добавить sleep 3 && setxkbmap ... в ~/.xsessionrc (задержка на инициализацию Fly)
Работает только английская раскладка Проверить /etc/default/keyboard и выполнить sudo dpkg-reconfigure keyboard-configuration
Ошибка Permission denied on /dev/input/event* Убедиться, что пользователь в группе input; в Astra Linux SE проверить политики мандатного контроля (pdp-admin или mac-check)
xrdp падает при вводе символов Обновить пакет: sudo apt update && sudo apt install --reinstall xrdp xorgxrdp

В Astra Linux CE/SE 1.7+ рекомендуется использовать xrdp >= 0.9.21. Если в репозитории старая версия, можно подключить официальный бэкпорт или собрать из исходников с поддержкой xorgxrdp.


Чек-лист быстрого исправления

  1. [default] keyboard_layout=us в /etc/xrdp/xrdp_keyboard.ini
  2. allowed_users=anybody в /etc/X11/Xwrapper.config
  3. Пользователь в группах input,tty,video
  4. ~/.xsessionrc с setxkbmap и sleep 2
  5. sudo systemctl restart xrdp xrdp-sesman
  6. Переподключиться через RDP-клиент

После этих шагов клавиатура в сессии xrdp + Fly стабильно работает в 95% случаев. Если проблема сохраняется, приложите вывод journalctl -u xrdp -u xrdp-sesman --since "5 min ago" и cat ~/.xorgxrdp.*.log — отправив в техническую поддержку Asta Linux.