Centos 7 xrdp как поменять язык
Перейти к содержимому

Centos 7 xrdp как поменять язык

  • автор:

XRDP Русская раскладка

Сравниваю выводы setxkbmap -print -varbose 10
Нативно на железном экране (где us/ru работает) получаю:

Setting verbose level to 10 locale is C Trying to load rules file ./rules/evdev. Trying to load rules file /usr/share/X11/xkb/rules/evdev. Success. Applied rules from evdev: rules: evdev model: pc105 layout: us,ru,ru variant: ,, options: grp:alt_shift_toggle,grp_led:scroll Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete+ledscroll(group_lock) symbols: pc+us+ru:2+ru:3+inet(evdev)+group(alt_shift_toggle) geometry: pc(pc105) xkb_keymap < xkb_keycodes < include "evdev+aliases(qwerty)" >; xkb_types < include "complete" >; xkb_compat < include "complete+ledscroll(group_lock)" >; xkb_symbols < include "pc+us+ru:2+ru:3+inet(evdev)+group(alt_shift_toggle)" >; xkb_geometry < include "pc(pc105)" >; >; 

В запущенной сессии xrdp

Setting verbose level to 10 locale is C Trying to load rules file ./rules/evdev. Trying to load rules file /usr/share/X11/xkb/rules/evdev. Success. Applied rules from evdev: rules: evdev model: pc105 layout: us options: grp:alt_shift_toggle,grp_led:scroll Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete+ledscroll(group_lock) symbols: pc+us+inet(evdev)+group(alt_shift_toggle) geometry: pc(pc105) xkb_keymap < xkb_keycodes < include "evdev+aliases(qwerty)" >; xkb_types < include "complete" >; xkb_compat < include "complete+ledscroll(group_lock)" >; xkb_symbols < include "pc+us+inet(evdev)+group(alt_shift_toggle)" >; xkb_geometry < include "pc(pc105)" >; > 

Сравнение файлов

# diff setxkbmap_native.txt setxkbmap_rdpses.txt 9,10c9 < layout: us,ru,ru < variant: ,, --- >layout: us 16c15 < symbols: pc+us+ru:2+ru:3+inet(evdev)+group(alt_shift_toggle) --- >symbols: pc+us+inet(evdev)+group(alt_shift_toggle) 22c21 < xkb_symbols < include "pc+us+ru:2+ru:3+inet(evdev)+group(alt_shift_toggle)" >; --- > xkb_symbols < include "pc+us+inet(evdev)+group(alt_shift_toggle)" >; 

Я так понимаю, что если выхлоп setxkbmap_rdpses привести к виду setxkbmap_native, то все заработает!?

RDP-сервер из Centos 7

Записки МихаНика

Это вторая статья из цикла статей про установку и настройку 1С Сервера на ОС Linux Centos 7.

В этой же статье мы будем из Centos 7 делать RDP-сервер.

Шаг 1.

И подключим репозиторий epel.

yum install -y epel-release
Шаг 2.

Отключаем selinux. Конечно, лучше его не отключать, а настраивать, но при желании мы всегда можем это сделать позже.

cp /etc/selinux/config /etc/selinux/config.old sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

После этого хорошо бы перезагрузиться, но мы сделаем это позже.

Шаг 3.

А теперь установим дополнительные программы, которые нам могут пригодиться.

yum -y install mc screen atop
Шаг 4.

Установим рабочую среду МАТЕ, т.к. она почему-то пользователям нравится больше, чем GNOME.

yum -y groupinstall "Рабочая среда MATE" "MATE"
Шаг 5.

Теперь установим и запустим RDP-сервер.

yum install -y xrdp xorgxrdp systemctl enable xrdp systemctl start xrdp
Шаг 6.

Для того, чтобы можно было подключаться к серверу, откроем в сетевом экране порт 3389/tcp.

firewall-cmd --add-port=3389/tcp --permanent firewall-cmd --reload
Шаг 7.

А теперь немного магии. ��

Если во время работы RDP-клиента сессия будет случайно или специально прервана, то при новом подключении откроется НОВАЯ сессия, а СТАРАЯ сессия со всеми открытыми программами так и останется висеть в памяти сервера, что, возможно, будет мешать работе. Чтобы при повторном подключении попадать в свой прежний сеанс нужно немного изменить настройки XRDP, для этого в файле /etc/xrdp/xrdp.ini меняем fork=true на fork=false

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old sed -i 's/fork=true/fork=false/' /etc/xrdp/xrdp.ini
Шаг 8.

Настроим, чтобы пользователи root и mihanik при подключении по RDP использовали рабочую среду MATE.

echo "mate-session"> ~/.Xclients chmod a+x ~/.Xclients su mihanik echo "mate-session"> ~/.Xclients chmod a+x ~/.Xclients exit
Шаг 9.
reboot
Шаг 10.

Подключаемся любым RDP-клиентом к нашему серверу.

Замечание!

Если при подключении к удалённому рабочему столу использовать «удачную» глубину цвета, например, в 15 бит, то установить сессию не получиться. Я обычно использую глубину цвета в 16 бит.

Ура? Всё работает?

Тогда вам повезло.

У меня, например, не работало переключение раскладки клавиатуры.

Перешёл к следующему шагу. ��

Шаг 11.
yum -y groupinstall "Окружение GNOME"

Далее в файле /etc/xrdp/xrdp.ini комментируем секцию [Xvnc] , а секцию [Xorg] наоборот, — раскомментируем.

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old2 mcedit /etc/xrdp/xrdp.ini

При помощи редактора приведите всё примерно к такому виду:

; ; Session types ; ; Some session types such as Xorg, X11rdp and Xvnc start a display server. ; Startup command-line parameters for the display server are configured ; in sesman.ini. See and configure also sesman.ini. [Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20 #[Xvnc] #name=Xvnc #lib=libvnc.so #username=ask #password=ask #ip=127.0.0.1 #port=-1 #xserverbpp=24 #delay_ms=2000 ; Disable requested encodings to support buggy VNC servers ; (1 = ExtendedDesktopSize) #disabled_encodings_mask=0

И перезапускаем xrdp

systemctl restart xrdp

Вот теперь должно быть «Ура! Работает!» ��

PS. Решение проблемы с переключением языка клавиатуры при подключении из Windows

Если всё ещё будут проблемы с переключением раскладки, откройте файл /etc/xrdp/xrdp_keyboard.ini :

cp /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.old mcedit /etc/xrdp/xrdp_keyboard.ini

И добавьте в конец файла:

[layouts_map_ru] rdp_layout_us=ru,us rdp_layout_ru=ru,us [rdp_keyboard_ru] keyboard_type=4 keyboard_type=7 keyboard_subtype=1 options=grp:alt_shift_toggle rdp_layouts=default_rdp_layouts layouts_map=layouts_map_ru

В данной конфигурации раскладка переключается сочетанием клавиш Alt+Shift.

Для применения настроек перезагрузите сервер xrdp:

systemctl restart xrdp

Если и это не поможет, то google | yandex вам в помощь.

Аренда серверов.

Надёжные сервера с Pro-бегом
У ВАС В ОФИСЕ
!

1С:Предприятие «в облаке».

Безопасный доступ к своей 1С из офиса, командировки и т.п.!

IP-телефония в офис.

IP-телефония давно перестала быть роскошью в офисах.
Хотите себе в офис цифровую АТС — обращайтесь.
!

xrdp и xfce: корректное переключение раскладки клавиатуры

После стандартной установки xrdp на xubuntu возникает проблема с переключением раскладки. Периодически остается либо в латинице, либо в кириллице.

Проверим, что установлен пакет xfce4-xkb-plugin, если нет, то установим:

apt install xfce4-xkb-plugin

Для корректной работы требуется внести изменения в некоторые конфигурационные файлы.
1. /etc/xrdp/xrdp_keyboard.ini
Перезаписываем конфигурационный файл на следующее:

[default_rdp_layouts]
rdp_layout_us=0x00000409
rdp_layout_de=0x00000407
rdp_layout_fr=0x0000040C
rdp_layout_it=0x00000410
rdp_layout_jp=0x00000411
rdp_layout_jp2=0xe0010411
rdp_layout_jp3=0xe0200411
rdp_layout_jp4=0xe0210411
rdp_layout_ru=0x00000419
rdp_layout_se=0x0000041D
rdp_layout_pt=0x00000816
rdp_layout_br=0x00000416
rdp_layout_pl=0x00000415

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

2. /etc/default/keyboard

Приводим к следующему виду:

XKBMODEL=»pc105″
XKBLAYOUT=»us,ru»
XKBVARIANT=»,alt_shift»
XKBOPTIONS=»grp:caps_toggle»

Posted on 09.04.2020 by Maxim . Запись опубликована в рубрике Linux с метками xfce, xrpd, xubuntu, переключение раскладки. Добавьте в закладки постоянную ссылку.

One thought on “ xrdp и xfce: корректное переключение раскладки клавиатуры ”

Здравствуйте!
Мне необходима индивидуальная помощь по данной теме.
Как с Вами связаться?
Павел.
Мой Вацап +79163561239

Не меняется язык ввода, хотя раскладка поменялась при удаленном подключении к ubuntu

введите сюда описание изображения

Подключаюсь к удаленному компьютеру (ubuntu) по xrdp из mac os или windows по microsoft remote descktop . И при переключении раскладки не меняется язык ввода, то есть вводит на английском хотя выбран русский язык. При выборе английского так же английский и выводится. Если с компом напрямую работать, то там нормально переключается язык.

Отслеживать
задан 19 мар 2020 в 16:31
6,353 7 7 золотых знаков 49 49 серебряных знаков 101 101 бронзовый знак

То что вы отправляете удаленно, то и принимает другая сторона. Думаю RDP просто отправляет текст из вашего языка ввода, а не языка, который установлен на Ubuntu.

19 мар 2020 в 16:37
Но ведь ubuntu показывает что выбран другой язык.
19 мар 2020 в 17:06

На каком языке будет ваша раскладка, то и тот язык будете отправлять на другой конец. Попробуйте альтернативы RDP, например TeamViewer или что то другое.

19 мар 2020 в 17:32

насколько мне известно, по протоколу rdp (remote desktop protocol) отправляются не скан-коды клавиатуры, а результаты трансляции — символы. т.е. для отправки символов другого языка надо переключать язык в хост-системе, а не в той, что подключена по rdp.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *