Проверялось в p10 - ошибка воспроизводится Проверялось в Sisyphus - ошибка не воспроизводится Версия пакета: lightdm-kde-greeter=0.4.16-alt1 Тестовые стенды: * Alt Workstation K 10.2 x86-64 Шаги для воспроизведения: 1. Установить чистую систему Alt Workstation K 10.2 2. На экране приветствия LightDM проверить переключение языка с помощью виджета "Смена языка" Ожидаемый результат: переключение работает корректно Реальный результат: нельзя изменить раскладку клавиатуры, используя виджет переключения языка - доступна только Английская (US) раскладка --------------------- Дополнительно: * данное поведение не воспроизводится в сизифе * достаточно нажать любую клавишу на физической клавиатуре, чтоб виджет заработал
Судя по всему это баг/особенность Xorg. Альтератор помещает настройки раскладок в файл /etc/X11/xorg.conf.d/00-keyboard.conf: > Section "InputClass" > Identifier "system-keyboard" > MatchIsKeyboard "on" > Option "XkbLayout" "us,ru" > Option "XkbModel" "pc104" > Option "XkbOptions" "grp:caps_toggle" > EndSection Но они не записываются в устройство "Virtual Core Keyboard", а только во все реальные устройства, которые являются "подчинёнными". Вот, например вывод xinput: > Virtual core pointer > Virtual core XTEST pointer > Logitech Wireless Mouse PID:4022 > Logitech Wireless Keyboard PID:4023 > ETPS/2 Elantech Touchpad > Virtual core keyboard > Virtual core XTEST keyboard [ * ] > Power Button [ * ] > Video Bus [ * ] > Acer Wireless Radio Control [ * ] > Video Bus [ * ] > Power Button [ * ] > Sleep Button [ * ] > AT Translated Set 2 keyboard [ * ] > Acer WMI hotkeys [ * ] ( Я пометил [ * ] устройства, куда попадают настройки.) Но считывание и переключение раскладок происходит именно с Virtual Core Keyboard. После первого события с любого из подчинённых устройств, настройки копируются в Virtual Core Keyboard, и проблема лечится. Также можно увидеть, что Logitech Wireless Keyboard попала в подчинение Virtual Core Pointer, и при нажатии на её кнопки не происходит копирование правильных настроек в Virtual Core Keyboard, т.е. проблема не лечится, видна только одна раскладка. При этом ввод с клавиатуры работает нормально. На этой же машине воспроизводится следующее: если использовать вышеупомянутую клавиатуру и запустить сессию KDE на Xorg, там тоже раскладки не меняются, пока не нажать физически на клавишу на самом ноутбуке. Также проблема лечится если запустить setxkbmap просто без аргументов. Потому что тот сначала считывает свойство _XKB_RULES_NAMES, в котором присутствуют нужные раскладки, а потом полученные данные отправляет в Xorg в функции XkbGetKeyboardByName, и там они кладутся в Virtual Core Keyboard.
(Ответ для Anton Golubev на комментарий #1) > Судя по всему это баг/особенность Xorg. И вряд ли его будут исправлять, учитывая, что ему восемь лет. https://gitlab.freedesktop.org/xorg/xserver/-/issues/257
Ошибка актуальна для версии lightdm-kde-greeter-6.0.2-alt1.x86_64
Всё же тут дело не в гритере.