Bug 54097 - Не переключается языковая раскладка клавишами на удаленной машине
Summary: Не переключается языковая раскладка клавишами на удаленной машине
Status: NEW
Alias: None
Product: Альт Рабочая станция
Classification: Distributions
Component: Ошибки работы (show other bugs)
Version: 11.1
Hardware: x86_64 Linux
: P5 normal
Assignee: Semen Fomchenkov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-01 12:05 MSK by Alexander
Modified: 2025-10-21 12:52 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander 2025-05-01 12:05:10 MSK
Не переключается раскладка клавиатуры на удаленной машине с помощью комбинации клавиш Alt_L+Shift. 
Были проверены и другие комбинации - не работают. 
На локальной машине переключение работает.
На удаленной переключается с помощью экранной кнопки в трэе RU/EN.
При нажатии Alt_L+Shift приложения реагируют так, как если бы была отдельно нажата кнопка Alt.

Подключение с помощью Remmina
Комбинация переключающих клавиш не совпадает в ЦУС и в "Настройки"(Меню/Настройки/Настройки).

Локальная машина
----------------
$ 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.21-6.12-alt1

# rpm -qa | grep -i -E 'rdp'
libfreerdp-2.11.7-alt3.x86_64
wlfreerdp3-3.14.1-alt2.x86_64
freerdp3-3.14.1-alt2.x86_64
libfreerdp3-server-3.14.1-alt2.x86_64
freerdp-plugins-standard-2.11.7-alt3.x86_64
remmina-plugins-rdp-1.4.37-alt1.x86_64
libfreerdp3-3.14.1-alt2.x86_64
xfreerdp3-3.14.1-alt2.x86_64

$ echo $XDG_SESSION_TYPE
wayland

Удаленная машина 
----------------
Windows 11


Эти же машины с локальной Simply Linux 10.4 - переключение по комбинации клавиш работает. Протокол rdp на simply более ранней версии
# rpm -qa | grep -i -E 'rdp'
libfreerdp-server-2.11.7-alt3.x86_64
libfreerdp-2.11.7-alt3.x86_64
xfreerdp-2.11.7-alt3.x86_64
wlfreerdp-2.11.7-alt3.x86_64
xorg-drv-xrdp-0.10.2-alt2.x86_64
freerdp-2.11.7-alt3.x86_64
remmina-plugins-rdp-1.4.35-alt0.p10.1.x86_64
freerdp-plugins-standard-2.11.7-alt3.x86_64
xrdp-0.10.2-alt2.x86_64
freerdp-server-2.11.7-alt3.x86_64
Comment 1 Alexander 2025-05-02 08:49:04 MSK
Случайно обнаружил, что на удаленном столе раскладка переключается по

Shift_L + Suoer + Space

Насколько мне известно, это стандартная гномовская комбинация для переключения на предыдущую раскладку. Ни в ЦУС, ни в Настройки/Настройки/Клавиатура эта комбинация не отображается. как установленная. 

Получается, дело не в протоколе, а в настройках клавиатуры на локальной машине.
Comment 2 Alexander 2025-05-04 10:06:29 MSK
связано с ошибкой https://bugzilla.altlinux.org/54123
Comment 3 Alexander 2025-05-04 20:52:34 MSK
Говорят, ошибку привязать к gnome-shell

Подробнее в https://bugzilla.altlinux.org/54123
Comment 4 Tatyana Gagina 2025-05-06 17:18:03 MSK
Ошибку подтверждаю:
не выполняется переключение при удалённом подключении с той же раскладкой, с которой работает переключение языка на системе.
Изначально на системе рабочая комбинация для смены раскладки 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
Comment 5 Yuri N. Sedunov 2025-05-06 17:21:37 MSK
Про windows не ко мне.
Comment 6 Alexander 2025-05-07 08:27:55 MSK
Хотите, проверьте вариант без 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

Переключение языковой раскладки на удаленном столе с помощью комбинации клавиш не работает.
Comment 7 Alexander 2025-05-15 10:52:22 MSK
Зачем переместили p11 -> Sisyphus ?

Это ошибка во всех последних версиях Simply, WS Gnome на 11 платформе.
Comment 8 Alexander Makeenkov 2025-05-15 10:58:38 MSK
(Ответ для Alexander на комментарий #7)
> Зачем переместили p11 -> Sisyphus ?

Потому что там тоже воспроизводится. Исправление сначала нужно делать в сизифе.
Comment 9 Антон Мидюков 2025-05-15 21:27:55 MSK
Попробуйте:
$ gsettings set org.gnome.desktop.input-sources xkb-options '[]'
Comment 10 Alexander 2025-05-16 06:52:19 MSK
$ 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, но оно не оказывает действие на удаленный стол.
Comment 11 Антон Мидюков 2025-05-16 06:56:56 MSK
(Ответ для Alexander на комментарий #10)
> $ gsettings set org.gnome.desktop.input-sources xkb-options '[]'

проверьте командой:
gsettings get org.gnome.desktop.input-sources xkb-options
Comment 12 Alexander 2025-05-16 07:13:22 MSK
$ 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, но оно не оказывает действие на удаленный стол.
Comment 13 Alexander 2025-05-16 07:16:43 MSK
$ gsettings get org.gnome.desktop.input-sources xkb-options
@as []
Comment 14 Антон Мидюков 2025-05-16 07:19:47 MSK
(Ответ для Alexander на комментарий #13)
> $ gsettings get org.gnome.desktop.input-sources xkb-options
> @as []

Да, всё нормально.
С virt-manager в ошибке 54311 мне помогло. А тут ещё какая-то проблема.
Comment 15 Alexander 2025-05-16 07:31:53 MSK
Да, точно: всплывающий индикатор на локальной стороне. 
Он также выскакивает по Super+Space и Shift+Super+Space. И на локальной стороне переключает раскладку, на удаленной - нет.
Comment 16 Антон Мидюков 2025-05-16 07:34:45 MSK
Кнопку "Захватывать все нажатия клавиш Control_R" в remmina активировали в панели сбоку?
Comment 17 Alexander 2025-05-16 08:02:13 MSK
Там еще пиктограмма "Клавиатура".
Пробовал и с нажатой, и с отжатой - не влияет.

В Simply-10 XFCE и WS-11 KDE все работает при тех же настройках.
Сейчас в KDE попробовал
Нажал Alt+Shift - появился индикатор  [kbd]"Русская"
Отпускаю и нажимаю Shift, удерживая Alt - индикатор переключается [kbd]"Русская"/"Английская(США)", но в отличие от Gnome синхронно переключается индикатор в трее удаленного стола.
Comment 18 Alexander 2025-05-18 16:42:55 MSK
Нашел такое
https://dev.to/nabbisen/remmina-keyboard-layout-in-rdp-ce

Попробовал.
В Remmina на вкладке меню/настройки/параметры/RDP
отметил чекбокс
[ v ] Использование клиентского отображения клавиатуры

Результат:
при вводе текста комбинация Alt+Shift меняет раскладку, текст можно вводить как кириллицей, так и латиницей,
НО
индикатор в трее удаленного стола "не видит" переключения, остается в одном положении, и переключить его можно только мышкой.

На Control_R в этом режиме не реагирует.


Итого
без галки 
   [  ] Использование клиентского отображения клавиатуры
   ни раскладка, ни индикатор в трее не меняются по Akt+Shift
с галкой
   раскладка меняется, ввод лат/кир, но индикатор остается в одном положении
Comment 19 Alexander 2025-05-24 08:28:35 MSK
Переключил при входе в сеанс vayland на xorg.
С xorg все нормально работает. Ошибки нет.

И еще. В Gnome комбинация Super+Space переключает раскладку и при этом на экран выводится уведомление RU/EN. Alt+Shift переключает раскладку без такого уведомления. Одинаково для vayland и xorg.

В окне удаленного сеанса для vayland на xorg поведение разное.
Для vayland уведомление выводится поверх удаленного окна, даже если распахнуть его на полный экран. Переключение раскладки не работает.
Для xorg уведомление не появляется, когда фокус на окне удаленного стола. Переключение работает. Вводятся латинские/русские буквы, индикатор в трее переключается.

Похоже, что только в gnome c vayland управляющие символы не передаются на удаленный стол.
Comment 20 Alexander 2025-06-07 09:32:23 MSK
Похоже, то, что в заголовке - просто частный случай.
Удаленный сеанс совсем ни при чем.

В сессии Wayland окна не имеют прямого доступа к устройствам ввода. К клавиатуре в том числе. Все коды, передаваемые клавиатурой, попадают не в окно с фокусом, а в какой то композитор (я не знаю, что это такое), который передает код окну (приложению).

Из-за этого переключение раскладки и комбинации горячих клавиш не срабатывают:
* в окне удаленного стола;
* в приложениях, использующих специальные комбинации;
* в модальных окнах.

С последним вообще финиш. Невозможно ввести пароль, если окно с запросом пароля было открыто при активной русской раскладке.
Comment 21 Андрей 2025-10-21 12:52:16 MSK
У себя победил так:
1) Через
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:win_space_toggle']"
установил на локальном ПК переключение языка ввода `Super`+`Space`.
2) Через графический интерфейс установил аналогичное сочетание клавиш (почему-то оно там не поменялось)
3) Перезагрузил ПК и всё работает!