Xrdp
xrdp is a daemon that supports Microsoft's Remote Desktop Protocol (RDP). It uses Xvnc, X11rdp or xorgxrdp as a backend.
Contents
Installation
Install the xrdpAUR package (or alternatively xrdp-gitAUR for the development version).
Autoboot at startup
The xrdpAUR package contains service files for systemd. Enable xrdp.service
and xrdp-sesman.service
.
Running as Terminal Server (Xorg)
Install the xorgxrdp-gitAUR package.
Add allowed_users=anybody
to /etc/X11/Xwrapper.config
to allow anybody to start X
Edit ~/.xinitrc
or /etc/X11/xinit/xinitrc
to launch your DE.
Troubleshooting
If you encounter black box around mouse pointer create ~/.Xresources-xrdp
with line Xcursor.core:1
and load it in ~/.xinitrc
like
xrdb ~/.Xresources-xrdp exec startlxde
You may need to install xorg-xrdb.
Running with Vino (Gnome VNC-Server for root session)
Enable the server to be seen via vino-preferences. Since vino defaults to portĀ : 5900 for connections, we will edit the xrdp configuration file to understand this. Append the vino session to xrdp's configuration file (/etc/xrdp/xrdp.ini) with the following codeĀ :
# echo " [xrdp8] name=Vino-Session lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=5900 " >> "/etc/xrdp/xrdp.ini"
Remember to restart the xrdp server, and one should be able to connect to the vino session (tested using xfreerdp).
Usage
After starting xrdp you can point any RDP client to localhost (on standard RDP port 3389) xrdp will give a small message window.
When you choose sessman-Xvnc you can give a username and password for any account on your host
and xrdp will start another Xvnc instance for you.
Opening a window manager out of a SESSION list provided in /etc/xrdp/startwm.sh
.
When you just close the session window and RDP connection, you can access the same session again next time you connect with RDP. When you exit the window manager or desktop environment from the session window, the session will close and a new session will be opened the next time.
xrdp checks only if a session with the same geometry is already opened. It will start a new session if the geometry/resolution doesn't match.