Xrdp

xrdp is a free and open-source implementation of Microsoft RDP (Remote Desktop Protocol) server that enables operating systems other than Microsoft Windows (such as Linux and BSD-style operating systems) to provide a fully functional RDP-compatible remote desktop experience. It works by bridging graphics from the X Window System to the client and relaying controls from the client back to X Window Server.

According to the developers, the protocol works with rdesktop, FreeRDP and Microsoft's own Remote Desktop Client.

Modes of operation
In order to relay the graphics and controls between the X Window System and the user, XRDP can utilize several forwarding modes:


 * Xvnc: This mode works by using a VNC server installation.
 * xorgxrdp / X11rdp: In this mode, XRDP can communicate directly with the X server in order to bridge the graphics.

History
The project was started in mid-2004 by Jay Sorg based on the work of rdesktop and FreeRDP that had previously explored implementations of the proprietary Remote Desktop Protocol, including RemoteFX.

The initial versions of the XRDP project relied on a local VNC server installation that had to be present alongside the program, in order to relay the graphics and controls between the user and the server (known as the "VNC forwarding mode"). However, this mode is currently not recommended to use anymore, due to its slow performance.

Due to the slow performance of forwarding to a VNC server, the developers introduced the X11rdp mode – which allowed for direct communication with the X Window Server, resulting in improved draw times and an overall better user experience. In 2019, the XRDP developers announced the xorgxrdp project as the replacement to the X11rdp mode, which is the default mode that XRDP uses in new installations.