XRDP. Установка и настройка

Материал из Wiki AlterOS
Перейти к: навигация, поиск

Вступление

Для удалённого управления компьютером пользователи Windows привыкли использовать "Подключение к удалённому рабочему столу", работающее по протоколу RDP.

В ОС AlterOS возможна реализация такого подключение с Windows машины. Для этой цели служит пакет XRDP

Установка XRDP

Установка XRDP производится с помощью команды

# sudo yum install xrdp xorgxrdp

Настройка XRDP

Первым делом необходимо настроить или отключить Firewall.

Если выбрана настройка Firewall, то необходимо открыть как минимум порт 3389.

# sudo firewall-cmd --permanent --add-port=3389/tcp
# sudo systemctl restart firewalld

Далее необходимо добавить рабочую среду Cinnamon при подключении пользователя:

# echo "cinnamon-session" > ~/.xsession
# chmod +x ~/.xsession
# sudo systemctl restart xrdp.service

Данная процедура должна быть произведена для каждого пользователя, которому необходим удалённый доступ на настраиваемый компьютер.

Добавление возможности переключать раскладку

Необходимо внести правки в конфигурационные файлы:

 # nano /etc/xrdp/xrdp.ini

Комментируем блок с [Xvnc] и расскоментирует блок с [Xorg]

 [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

Приводим файл конфигурации /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_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

Редактируем файл /usr/libexec/xrdp/startwm.sh как показано на рисунке:

 # sudo nano /usr/libexec/xrdp/startwm.sh

Добавленная строка:

 /bin/setxkbmap -layout us,ru -variant ',winkeys' -option 'grp:alt_shift_toggle,grp_led:scroll'

Setxkbmap.png

Перезапускаем сервис:

 # sudo systemctl restart xrdp.service

На этом процедура настройки XRDP закончена.

Если при переходе на удаленный терминальный сервер раскладка набора кнопок Numlock переключается, то необходимо в конфигурационном файле /etc/xrdp/xrdp_keyboard.ini добавить строку

numlock=on

Для проброса звука необходимо установить пакет pulseaudio-module-xrdp, выполнив команду:

sudo yum localinstall http://repo.alter-os.ru/alteros/7/experimental/x86_64/Packages/pulseaudio-module-xrdp-1.0.0-2.el7.alteros.x86_64.rpm

Технические моменты

  • Внимание! Избегайте одновременных сеансов RDP и обычных(локальных) для одного и того же пользователя. Systemd не позволит полноценно работать в сеансе RDP.
  • Для доступа в интернет пользователям, подключенным удалённо, необходимо открыть как минимум порт 80 (в случае если Firewall не отключен).

Открыть порт 80 можно с помощью команды:

firewall-cmd --permanent --add-port=80/tcp

После чего перезапустить сервис firewalld:

sudo systemctl restart firewalld
  • Для удаленного запуска программ, таких как Yumex, пользователю, от имени которого происходит запуск, необходимо предоставить права на выполнение данной программы без ввода пароля администратора (root). Один из способов предоставления таких прав пользователю - создание конфигурационного файла в директории /etc/sudoers.d. Для этого потребуется выполнить следующие шаги:

1) Создать файл:

sudo nano /etc/sudoers.d/user

2) Внести строку с названием вашего пользователя и приложения, которому необходимо дать доступ, например:

%user ALL=(ALL) /usr/bin/yum

3) Сохранить файл и выставить права на него:

chmod 0440 /etc/sudoers.d/user

4) Проверить правильность синтаксиса файла sudoers:

 sudo visudo -c

Если команда вернет сообщение "parsed OK", значит, файл sudoers был создан без ошибок.