Skip to content

Building on Debian (or Ubuntu, etc)

matt335672 edited this page Apr 15, 2025 · 10 revisions

Introduction

These are steps for building xrdp 0.10.x and xorgxrdp 0.10.x, on Debian and derivatives, including Ubuntu.

xrdp can use one of these backends:

  • xorgxrdp: use the existing Xorg installation and add a module xorgxrdp for providing modules for RDP suppport
  • Xvnc: a VNC server with X11 support

The preferred backend is xorgxrdp.
This configuration only activates 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!

Build & Install xrdp

Get the sources

Check https://github.com/neutrinolabs/xrdp/releases/latest to find the latest version

XRDP_SRC_DIR="${PWD}"/xrdp
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.4/xrdp-0.9.4.tar.gz
tar xvzf xrdp-0.9.4.tar.gz
mv xrdp-0.9.4 "${XRDP_SRC_DIR}"  # renaming to make the other steps clearer
cd "${XRDP_SRC_DIR}"

Alternatively, clone the git repository if you need the devel branch: git clone git@github.com:neutrinolabs/xrdp.git.

Install dependencies

The following command uses the CI script built into xrdp to install all the dependencies used by xrdp:-

sudo ./scripts/install_xrdp_build_dependencies_with_apt.sh max

This script is only regularly tested on Github's latest x86_64 CI version of Ubuntu, but should work on other systems. If it doesn't feel free to raise an issue and we can discuss it.

Build

Note: adapt the configure line bellow to activate your needed features:

./bootstrap
./configure --enable-fuse --enable-mp3lame --enable-pixman
make

Install the xrdp server on your system

If you have xrdp installed from a debian/ubuntu package, remove it first with sudo apt remove xrdp.

cd "${XRDP_SRC_DIR}"
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin

Build & Install xorgxrdp

Get the sources

Check https://github.com/neutrinolabs/xorgxrdp/releases/latest to find the version of xorgxrdp which works with your version of xrdp.

XORG_XRDP_SRC_DIR="${PWD}"/xorgxrdp
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.4/xorgxrdp-0.2.4.tar.gz
tar xvzf xorgxrdp-0.2.4.tar.gz
mv xorgxrdp-0.2.4 xorgxrdp  # renaming to make the other steps clearer

Alternatively, clone the git repository if you need the devel branch: git clone git@github.com:neutrinolabs/xorgxrdp.git.

Build & Install the sources:

cd "${XORG_XRDP_SRC_DIR}"
./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 certificate
  • Edit /etc/xrdp/xrdp.ini and /etc/xrdp/sesman.ini to match your needs. In particular:-
    • for xorgxrdp installations, in /etc/xrdp/sesman.ini, replace param=Xorg with param=/usr/lib/xorg/Xorg. The comments in the file will tell you what to do.

Start xrdp

sudo systemctl enable xrdp
sudo service xrdp start

Clone this wiki locally