Настройка RDP (XRDP) в Линукс для сервера и клиента |
Автор: admin Просмотров: 5549 Комментарии:
Добавлен: 10 июня 2019
Обновлено: 3.11.2021 - 18:00
Не смотря на то, что в Линукс чаще всего для подключения к удалённому рабочему столу используется протокол VNC, я решил использовать RDP. RDP по моим ощущениям немного быстрее вырисовывает графику. Ниже пример настройки XRDP на сервере и клиенте.
Проверено на сервере XRDP 0.9.12 и на клиенте rdesktop 1.8.6 !
Установка XRDP на сервер.
apt install rdesktop
Теперь XRDP установлен, и к нему можно подключиться:
rdesktop 193.62.54.133 -z -r clipboard -g 1024x768 -u user -p pass
193.62.54.133 - ip адрес сервера XRDP
z- включить сжатие rdp
clipboard - включить буфер обмена между сервером и клиентом
-k us - клавиатурная раскладка
-g - разрешение/размер окна XRDP
-u - имя пользователя
-p - пароль
Это мы подключились к учётной записи ROOT.
Если мы создадим учётную запись простого пользователя, (команда adduser user --home /home/yura) и попробуем зайти в эту учётную запись по протоколу RDP, то мы увидим пустое окно чёрного фора программы rdesktop-vrdp
Это потому, что простым пользователям разрешено запускать X сервер только имея физический доступ к серверу. Например, если зайти на сервер по ssh (ssh root@193.62.54.133) и попытаться запустить X сервер (команда startx), то мы получим следующую ошибку:
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
Перевод: только консольным пользователям разрешено запускать X сервер. Чтобы это исправить, открываем файл /etc/X11/Xwrapper.config
nano /etc/X11/Xwrapper.config
ищем строку
allowed_users=console
и меняем её на строку
allowed_users=anybody
Я ради безопасности пользуюсь в ssh и rdp не стандартным портом. Поменять порт Xrdp можно в файле /etc/xrdp/xrdp.ini
Укажем какой оконный менеджер должен запускаться.
Если подключиться на данном этапе, то будет просто чёрный экран и больше ничего. Это потому что Xrdp не знает какую программу запускать при подключении к нему. Для этого в домашнем каталоге нужно создать файл .xsession:
touch ~/.xsession
И указать в нём нужную программу. Это может быть например: оконный менеджер, xterm или любая другая программа. Так как мне нужен именно оконный менеджер icewm, я указал сессию icewm icewm-session, если у вас xfce4 - нужно указать xfce4-session.
Теперь нужно перезагрузить XRDP:
/etc/init.d/xrdp restart
Команда запуска с указанием порта выглядит так:
rdesktop-vrdp 193.62.54.133:5423 -z -r clipboard -g 1024x768 -u user -p pass
Жирный курсор/указатель мыши в XRDP
После обновления с Debian 9 на Debian 10 у меня курсор мыши в окне rdesktop стал большим жирным и с чёрным квадратиком рядом. Благодаря dissident решение найдено. Нужно в файле /etc/xrdp/xrdp.ini поменять значение new_cursors=true на new_cursors=false и, конечно же перезапустить xrdp (команда /etc/init.d/xrdp restart)
Кстати, на сервер с xrdp можно заходить в Windows встроенной программой.
Раскладка клавиатуры
Чтобы переключать расскладку, можно добавить опцию -k us(ru и т.д), или заменить содержимое файлов /usr/share/rdesktop/keymaps/ru и /usr/share/rdesktop/keymaps/en-us одинаково на следующее:
# generated from XKB map ru
include common
map 0x419
grave 0x29
asciitilde 0x29 shift
asciicircum 0x07 shift
backslash 0x2b
bar 0x2b shift
apostrophe 0x28
greater 0x34 shift
less 0x33 shift
В итоге, все кнопки будут работать и в русской и в английской раскладке что в патченной версии, что в оригинальной. Причем, можно не указывать в параметрах запуска ключ -k с английской раскладкой, все работает и с русской раскладкой тоже. Ключ -y указывать НЕ НАДО!! Проверено на терминалах Win2k3 Server и на XP со вторым паком.
Я пользуюсь переключателем клавиатурной раскладки gxkb
Мой файл ~/.config/gxkb.cfg:
[xkb config]
group_policy=0
default_group=0
never_modify_config=false
model=pc105
layouts=us,ru,ua
variants=,,
toggle_option=grp:alt_shift_toggle
compose_key_position=
Проблема в том, что если не закрывать сеанс RDP, а просто закрыть программу подключения, то при повторном заходе переключение раскладки не работает. А закрывать сеанс и потом снова его открывать нельзя (компьютер должен круглосуточно работать). Это не зависит от переключателя клавиатурной раскладки !
Решение я наяндексил по адресу https://sevo44.ru/xrdp-terminalnyj-server-linux/
Вот оно:
nano /etc/xrdp/xrdp_keyboard.ini
= необходимые проверки и дополнения =
В моем случае эти коды были, но лучше проверить их наличие
[default_rdp_layouts]
rdp_layout_us=0x00000409
rdp_layout_ru=0x00000419
Всё что ниже добавляем в конце не забывая что переключение происходит сочетанием клавиш alt+shift
[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
; model=pc105 при необходимости
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
Перезагружаем XRDP и радуемся результату.
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Компьютерные советы
Комментарии |