Building on Debian 8

zertrin edited this page Apr 30, 2018 · 26 revisions

Introduction

These are steps for building xrdp 0.9.4, on debian 8 (jessie) system. Buildprocess, as described here, confirmed working on 09.10.2017 on Ubuntu-Gnome 16.4.1. There are still caveats with ubuntu due to systemd integration

xrdp can one of these backends:

  • xorgxrdp: use the existing Xorg installation and add a module xorgxrdp for providing modules for RDP suppport
  • X11rdp: a dedicated X server compiled from sources for xrdp
  • Xvnc: a VNC server with X11 support

The preferred backend is xorgxrdp This configuration only activate the Xorg backend, so when connecting with a RDP client, be sure to use this session type.

You must install at least one of these backends!

Dependencies

  • Install xrdp's dependencies
sudo apt-get install git autoconf libtool pkg-config gcc g++ make  libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev  flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev

Note for Ubuntu 16.04: if your system is using -hwe-16.04 suffixed packages (for example linux-generic-hwe-16.04 and xserver-xorg-core-hwe-16.04), then the -dev packages also need to be -hwe-16.04 suffixed (i.e. make sure xserver-xorg-dev is not installed and xserver-xorg-dev-hwe-16.04 is installed instead).

Sources for xrdp and xorgxrdp

Get sources from the release page, or clone xrdp and xorgxrdp repository from GitHub if you need the devel branch:

BD=`pwd`
mkdir -p "${BD}"/git/neutrinolabs
cd "${BD}"/git/neutrinolabs
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.4/xrdp-0.9.4.tar.gz
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.4/xorgxrdp-0.2.4.tar.gz
  • Build and install xrdp server (Adapt the configure line to activate your needed features)
cd "${BD}"/git/neutrinolabs
tar xvfz xrdp-0.9.4.tar.gz
cd "${BD}"/git/neutrinolabs/xrdp-0.9.4
./bootstrap
./configure --enable-fuse --enable-mp3lame --enable-pixman
make
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
  • Build and install xorgxrdp
cd "${BD}"/git/neutrinolabs
tar xvfz xorgxrdp-0.2.4.tar.gz
cd "${BD}"/git/neutrinolabs/xorgxrdp-0.2.4
./bootstrap
./configure
make
sudo make install
  • Configure xrdp
  • Generate certificate /etc/xrdp/{cert,key}.pem if you don't want to use the self-signed certificat
  • Edit /etc/xrdp/xrdp.ini and /etc/xrdp/sesman.ini to match your needs
  • Start xrdp
sudo systemctl enable xrdp
sudo service xrdp start

Compilation of X11rdp

If you don't want to use the xorgxrdp module, you can still build a local Xserver dedicated to xrdp: X11rdp

cd "${BD}"/git/neutrinolabs/xorg/X11R7.6
./buildx.sh /opt/X11rdp
sudo ln -s /opt/X11rdp/bin/X11rdp /usr/bin
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.