Bug 54097

Summary: Не переключается языковая раскладка клавишами на удаленной машине
Product: Sisyphus Reporter: Alexander <analarc>
Component: gnome-shellAssignee: Semen Fomchenkov <armatik>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: amakeenk, antohami, aris, tatyana
Version: unstable   
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
Не переключается раскладка клавиатуры на удаленной машине с помощью комбинации клавиш 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
с галкой
   раскладка меняется, ввод лат/кир, но индикатор остается в одном положении