Skip to content

Building on Debian 8

Scott Morris edited this page Feb 18, 2017 · 34 revisions

Introduction

These are steps for building xrdp 0.9.1, on debian 8 (jessie) system. Buildprocess, as described here, confirmed working on 31.12.2016 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

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.1/xrdp-0.9.1.tar.gz
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.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.1.tar.gz
cd "${BD}"/git/neutrinolabs/xrdp-0.9.1
./bootstrap
./configure --enable-fuse --disable-rfxcodec --enable-mp3lame --enable-pixman --disable-painter --disable-ipv6
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.0.tar.gz
cd "${BD}"/git/neutrinolabs/xorgxrdp-0.2.0
./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 xorg/X11R7.6
   ./buildx.sh /opt/X11rdp
   sudo ln -s /opt/X11rdp/bin/X11rdp /usr/bin
Clone this wiki locally