четверг, 13 апреля 2017 г.

[HOWTO] Терминальный сервер XRDP на Ubuntu

[HOWTO] Терминальный сервер XRDP на Ubuntu
Установка xrdp на ubuntu 12.04.5

$ sudo su
# apt-get update
# apt-get upgrade

Cобираем x11rdp (примерно 10 минут)
# apt-get build-dep xserver-xorg-core
# cd /home/user
# wget http://server1.xrdp.org/xrdp/x11rdp_xorg71.tar.gz
# Исходники могут переехать по другому адресу, если что гугл поможет
# tar -xvf x11rdp_xorg71.tar.gz
# mkdir /opt/X11rdp
важно: /opt/X11rdp владелец должен быть root!
# cd x11rdp_xorg71
# time sh buildx.sh /opt/X11rdp


Проверяем установленые библиотеки:
# cd /opt/X11rdp/bin
# ls -lh
делаем симлинк в /usr/bin
# ln -s /opt/X11rdp/bin/X11rdp /usr/bin/X11rdp


Cобираем свежую сборку xrdp.
Мы будем использовать свежую сборку xrdp.
Что бы создать скрипты для запуска и установить зависимые пакеты
ставим и удаляем xrdp из репозитария Ubuntu:

 # apt-get install xrdp -y ; apt-get remove xrdp -y

Клонируем под нормальным пользователем текущую версию xrdp:

# apt-get install git
# apt-get install libssl-dev libpam0g-dev
# cd /home/user
# git clone https://github.com/FreeRDP/xrdp.git xrdp.git

Собираем из исходников xrdp. Обратите внимание на checkout, это необходимо для корректной работы xrdp:

# cd /home/user/xrdp.git
# git checkout 4cd0c118c273730043cc77b749537dedc7051571
# ./bootstrap
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
# make
# make install

Копируем и изменяем RSA ключи, это необходимо для RDP сессий:
# mkdir /usr/share/doc/xrdp
# mv /etc/xrdp/rsakeys.ini /usr/share/doc/xrdp/
# chmod 600 /usr/share/doc/xrdp/rsakeys.ini
# chown xrdp:xrdp /usr/share/doc/xrdp/rsakeys.ini

 
Настройка xrdp.
Донастраиваем Xsession.
# nano /etc/X11/Xsession

Добавляем в /etc/X11/Xsession после set -e:

## Для корретного определения локали
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi

Сохранить.

Делаем резервную копию и создаем симлинк на Xsession:

# cd /etc/xrdp
# mv startwm.sh startwm.sh.BACKUP
# ln -s /etc/X11/Xsession /etc/xrdp/startwm.sh


Приводим настройки /etc/xrdp/xrdp.ini к такому в виду:
# mv /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.BACKUP
# nano /etc/xrdp/xrdp.ini

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
max_bpp=16
#black=000000
grey=d6d3ce
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72
 
[xrdp1]
name=RDP
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
xserverbpp=16
 
[xrdp2]
name=VNC
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
 
Сохранить. 
 
# nano /etc/xrdp/sesman.ini
 
Немного изменяем скрипт управления /etc/init.d/xrdp,
добавляем параметры: 
# nano /etc/init.d/xrdp
 
PIDDIR=/var/run
SESMAN_START=yes

Сохранить.
 
Настраиваем авторизацию xrdp,
приводим файл /etc/pam.d/xrdp-sesman к виду:
# nano /etc/pam.d/xrdp-sesman
 
 
#%PAM-1.0
@include sesman 
 
Сохранить.
 
Запускаем xrdp сервер и проверяем: 
 
# service xrdp start

Комментариев нет:

Отправить комментарий