The package of xrdp (Version 6.1.2) that is available in Debian does lack support for Copy&Paste.
The „master“ branch of xrdp on github provides this feature but is not packaged for Debian at the moment.
To have it available, I built it manually on my Debian server. The procedure took about 1 hour, most of the time is spent compiling the „X11rdp backend“, a specialized X server that is provided by the xrdp project.
Words of caution beforehand: I seldomly replace packages that are available in my distribution with own builds, and even if I do it, I normally would install them to /usr/local and not, as described in this article, to /usr and /etc. In this specific case I wanted the build to appear as a drop-in replacement for the Debian packaged version, so that I could reuse my existing customizations in /etc/X11. If you install to /usr/local instead, more integration work could be required that is not covered by this article.
Otherwise, I have tested that it works, and I have also tested that a local X server still works after this procedure has been performed.
I first removed the Debian package of xrdp.
~$ sudo dpkg -r xrdp
I downloaded the xrdp sources from github:
~$ git clone https://github.com/neutrinolabs/xrdp.git
I installed some packages that are required for the build procedure. The following list is probably not complete, because I already had some of the stuff installed:
~$ sudo aptitude install automake autoconf libtool-bin libxext-dev \ libxfixes-dev libxrandr-dev libxrender-dev wget x11proto-fixes-dev \ x11proto-render-dev x11proto-xext-dev xvfb
I built xrdp (and its helper program xrdp-sesman) and installed them. They are the front-end talking to the RDP client over the network connection.
~$ cd xrdp xrdp$ sh bootstrap xrdp$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var xrdp$ make xrdp$ sudo make install
I built the executable X11rdp. It is the back-end, an X server that runs the X clients and interacts with them.
This build procedure will download additional sources from xrdp.org via HTTP using wget. The build process amounts to a complete freedesktop.org style X11 compilation, incuding, amongst others, a full-blown Python 2.7 build, so it will take time:
xrdp$ cd xorg/X11R7.6 X11R7.6$ sh buildx.sh default
I copied the resulting executable X11rdp into a directory in my system’s PATH so that it is available to xrdp-sesman:
X11R7.6$ sudo cp rdp/X11rdp /usr/local/bin
I restarted xrdp, now using the github master branch version:
X11R7.6$ sudo service xrdp restart
To avoid a Debian installation overwriting this installation, I created a file /etc/apt/preferences.d/disable-xrdp:
Package: xrdp Pin: release o=Debian Pin-Priority: -1
Now I can connect to my Linux server using remote desktop, having complex copy&paste support (I tested transferring plain text and pixmaps).