| Summary: | Не переключается языковая раскладка клавишами на удаленной машине | ||
|---|---|---|---|
| Product: | Альт Рабочая станция | Reporter: | Alexander <analarc> |
| Component: | Ошибки работы | Assignee: | Semen Fomchenkov <armatik> |
| Status: | NEW --- | QA Contact: | qa-p8 <qa-p8> |
| Severity: | normal | ||
| Priority: | P5 | CC: | amakeenk, antikler, antohami, aris, tatyana |
| Version: | 11.1 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=54311 | ||
|
Description
Alexander
2025-05-01 12:05:10 MSK
Случайно обнаружил, что на удаленном столе раскладка переключается по Shift_L + Suoer + Space Насколько мне известно, это стандартная гномовская комбинация для переключения на предыдущую раскладку. Ни в ЦУС, ни в Настройки/Настройки/Клавиатура эта комбинация не отображается. как установленная. Получается, дело не в протоколе, а в настройках клавиатуры на локальной машине. связано с ошибкой https://bugzilla.altlinux.org/54123 Говорят, ошибку привязать к gnome-shell Подробнее в https://bugzilla.altlinux.org/54123 Ошибку подтверждаю: не выполняется переключение при удалённом подключении с той же раскладкой, с которой работает переключение языка на системе. Изначально на системе рабочая комбинация для смены раскладки Alt+Shift. На удалённой машине она не работает. На локальной машине работает, а также из трея при удалённом подключении. На удаленном столе не удалось пока подобрать подходящую раскладку клавиатуры для переключения языка (комбинации из разряда https://bugzilla.altlinux.org/show_bug.cgi?id=54097#c1 не подошли). Стенд, обновлённый до Sisyphus: Workstation x86_64 (c Wayland) Версия на Sisyphus: gnome-shell-48.1-alt1 $ echo $XDG_SESSION_TYPE wayland $ uname -r 6.12.24-6.12-alt1 Использовалась удалённая машина Windows 10 Pro (как одна из доступных). Проверялось в p11, ошибка воспроизводится. Версия в p11: gnome-shell-47.4-alt1 Про windows не ко мне. Хотите, проверьте вариант без Windows. Я проверил. Локальная машина $ cat /etc/os-release NAME="ALT Workstation" VERSION="11.0" ID=altlinux VERSION_ID=11.0 PRETTY_NAME="ALT Workstation 11.0 (Prometheus)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:workstation:11.0" BUILD_ID="ALT Workstation 11.0" ALT_BRANCH_ID="p11" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" DOCUMENTATION_URL="https://docs.altlinux.org/" SUPPORT_URL="https://support.basealt.ru/" LOGO=alt-distro-logo $ uname -r 6.12.24-6.12-alt1 Удаленная машина $ cat /etc/os-release NAME="Simply Linux" VERSION="10.4 (Captain Finn)" ID=altlinux VERSION_ID=10.4 PRETTY_NAME="Simply Linux 10.4 (Captain Finn)" ANSI_COLOR="1;36" CPE_NAME="cpe:/o:alt:slinux:10.4" BUILD_ID="Simply Linux 10.1" HOME_URL="https://www.basealt.ru/simplylinux" BUG_REPORT_URL="https://bugs.altlinux.org/" $ uname -r 6.1.132-un-def-alt1 Переключение языковой раскладки на удаленном столе с помощью комбинации клавиш не работает. Зачем переместили p11 -> Sisyphus ? Это ошибка во всех последних версиях Simply, WS Gnome на 11 платформе. (Ответ для Alexander на комментарий #7) > Зачем переместили p11 -> Sisyphus ? Потому что там тоже воспроизводится. Исправление сначала нужно делать в сизифе. Попробуйте: $ gsettings set org.gnome.desktop.input-sources xkb-options '[]' $ gsettings set org.gnome.desktop.input-sources xkb-options '[]' п у с т о $ cat /etc/os-release NAME="ALT Workstation" VERSION="11.0" ID=altlinux VERSION_ID=11.0 PRETTY_NAME="ALT Workstation 11.0 (Prometheus)" ... Раскладка по Alt+Shift не переключается удаленном столе. При нажатии Alt+Shift поверх окна удаленного стола появляется индикатор [ RU | EN ] Похоже, что это индикатор отрисовывается на стороне локальной машины. Если продолжать одну из кнопок Alt или Shift удерживать, а другую нажимать, то внутри индикатора происходит переключение RU/EN, но оно не оказывает действие на удаленный стол. (Ответ для Alexander на комментарий #10) > $ gsettings set org.gnome.desktop.input-sources xkb-options '[]' проверьте командой: gsettings get org.gnome.desktop.input-sources xkb-options $ gsettings set org.gnome.desktop.input-sources xkb-options '[]' п у с т о $ cat /etc/os-release NAME="ALT Workstation" VERSION="11.0" ID=altlinux VERSION_ID=11.0 PRETTY_NAME="ALT Workstation 11.0 (Prometheus)" ... Раскладка по Alt+Shift не переключается удаленном столе. При нажатии Alt+Shift поверх окна удаленного стола появляется индикатор [ RU | EN ] Похоже, что это индикатор отрисовывается на стороне локальной машины. Если продолжать одну из кнопок Alt или Shift удерживать, а другую нажимать, то внутри индикатора происходит переключение RU/EN, но оно не оказывает действие на удаленный стол. $ gsettings get org.gnome.desktop.input-sources xkb-options @as [] (Ответ для Alexander на комментарий #13) > $ gsettings get org.gnome.desktop.input-sources xkb-options > @as [] Да, всё нормально. С virt-manager в ошибке 54311 мне помогло. А тут ещё какая-то проблема. Да, точно: всплывающий индикатор на локальной стороне. Он также выскакивает по Super+Space и Shift+Super+Space. И на локальной стороне переключает раскладку, на удаленной - нет. Кнопку "Захватывать все нажатия клавиш Control_R" в remmina активировали в панели сбоку? Там еще пиктограмма "Клавиатура". Пробовал и с нажатой, и с отжатой - не влияет. В Simply-10 XFCE и WS-11 KDE все работает при тех же настройках. Сейчас в KDE попробовал Нажал Alt+Shift - появился индикатор [kbd]"Русская" Отпускаю и нажимаю Shift, удерживая Alt - индикатор переключается [kbd]"Русская"/"Английская(США)", но в отличие от Gnome синхронно переключается индикатор в трее удаленного стола. Нашел такое https://dev.to/nabbisen/remmina-keyboard-layout-in-rdp-ce Попробовал. В Remmina на вкладке меню/настройки/параметры/RDP отметил чекбокс [ v ] Использование клиентского отображения клавиатуры Результат: при вводе текста комбинация Alt+Shift меняет раскладку, текст можно вводить как кириллицей, так и латиницей, НО индикатор в трее удаленного стола "не видит" переключения, остается в одном положении, и переключить его можно только мышкой. На Control_R в этом режиме не реагирует. Итого без галки [ ] Использование клиентского отображения клавиатуры ни раскладка, ни индикатор в трее не меняются по Akt+Shift с галкой раскладка меняется, ввод лат/кир, но индикатор остается в одном положении Переключил при входе в сеанс vayland на xorg. С xorg все нормально работает. Ошибки нет. И еще. В Gnome комбинация Super+Space переключает раскладку и при этом на экран выводится уведомление RU/EN. Alt+Shift переключает раскладку без такого уведомления. Одинаково для vayland и xorg. В окне удаленного сеанса для vayland на xorg поведение разное. Для vayland уведомление выводится поверх удаленного окна, даже если распахнуть его на полный экран. Переключение раскладки не работает. Для xorg уведомление не появляется, когда фокус на окне удаленного стола. Переключение работает. Вводятся латинские/русские буквы, индикатор в трее переключается. Похоже, что только в gnome c vayland управляющие символы не передаются на удаленный стол. Похоже, то, что в заголовке - просто частный случай. Удаленный сеанс совсем ни при чем. В сессии Wayland окна не имеют прямого доступа к устройствам ввода. К клавиатуре в том числе. Все коды, передаваемые клавиатурой, попадают не в окно с фокусом, а в какой то композитор (я не знаю, что это такое), который передает код окну (приложению). Из-за этого переключение раскладки и комбинации горячих клавиш не срабатывают: * в окне удаленного стола; * в приложениях, использующих специальные комбинации; * в модальных окнах. С последним вообще финиш. Невозможно ввести пароль, если окно с запросом пароля было открыто при активной русской раскладке. У себя победил так: 1) Через gsettings set org.gnome.desktop.input-sources xkb-options "['grp:win_space_toggle']" установил на локальном ПК переключение языка ввода `Super`+`Space`. 2) Через графический интерфейс установил аналогичное сочетание клавиш (почему-то оно там не поменялось) 3) Перезагрузил ПК и всё работает! |