xrdp is an open source RDP server that enables graphical remote desktop access to Linux machines using the Microsoft Remote Desktop Protocol.
xrdp solves the problem of accessing Linux desktops remotely by implementing an RDP server that accepts connections from standard RDP clients including Windows MSTSC, Microsoft Remote Desktop, FreeRDP, rdesktop, KRDC, and NeutrinoRDP. The tool works by listening on port 3389 and establishing encrypted TLS connections to these clients, allowing users to connect from Windows, Mac OS, iOS, and Android devices. It supports session reconnection, dynamic session resizing, and can act as a proxy to other RDP or VNC servers.
xrdp is well-suited for Linux administrators and users who need to provide remote desktop access using familiar RDP clients rather than VNC or SSH-based solutions. The project works best on x86 and ARM architectures, with x86 systems receiving full acceleration through SIMD-optimized components including the RemoteFX codec. Most major Linux distributions package xrdp in their repositories, making installation straightforward. The tool supports resource redirection including two-way clipboard transfer, drive mounting, and optional audio and microphone redirection through additional modules. For the best experience, the separate xorgxrdp Xorg module should be installed alongside xrdp, though Xvnc can serve as a fallback display server.
The project maintains active development with regular updates addressing bug fixes and compatibility improvements across supported platforms. Code contributions flow steadily with attention to both core RDP protocol implementation and platform-specific optimizations. The maintainers actively manage the issue tracker and provide documentation through the project wiki covering build procedures, audio setup, and platform support tiers. Development activity shows consistent engagement with the codebase and responsiveness to reported problems.