How to Remote Desktop from Windows to Ubuntu | Debian | LinuxMint with XRDP

The XRDP provides a graphical login to remote machines using RDP (Microsoft Remote Desktop Protocol). xrdp accepts connections from variety of RDP clients: FreeRDP, rdesktop, NeutrinoRDP and Microsoft Remote Desktop Client (for Windows, macOS, iOS and Android).

As Windows-to-Windows Remote Desktop can, xrdp supports not only graphics remoting but also

  • Two-way clipboard transfer (text, bitmap, file)
  • Tudio redirection
  • Drive redirection (mount local client drives on remote machine)

RDP transport is encrypted using TLS by default.

XRDP is one of the best remote desktop software tools and the best free remote desktop software protocols for operating systems other than Windows, such as Linux.

In this tutorial, We will learn How to Remote Desktop from Windows to Ubuntu | Debian | Linux Mint with XRDP

For this tutorial, we will defined as below:

  • Linux machines:
    • Operating system: Ubuntu or Debian or Linux Mint ( Desktop )
    • IP address: ( recommend static ip address )
    • User privileges: root or non-root user with root privileges
  • Windows machine:
    • Operating system: Windows 11/10/8/7 or Windows Server 2022/2019/2016/2012

On the Linux machine

First of all, you need open Terminal and update your system

sudo apt update

Run the following command below to install XRDP on your system

sudo apt install xrdp -y

After sucssessful install, we need to start and enable XRDP service to auto-start on system restart or boot:

sudo systemctl start xrdp

sudo systemctl enable xrdp

Check status of XRDP service, ensure it’s running:

sudo systemctl status xrdp

The service shows as running in the output:

Check status of XRDP service

The XRDP uses the /etc/ssl/private/ssl-cert-snakeoil.key file to the functions of the XRDP services. But only members of the ssl-cert group is readable and we need to add xrdp user to ssl-cert group.

Run the following command below to add the xrdp user to the ssl-cert group:

sudo adduser xrdp ssl-cert

And restart XRDP service to the changes to be effected:

sudo systemctl restart xrdp

Sample output:

 Add XRDP user to group ssl-cert

The XRDP service listen on port 3389/TCP, run the following command below to allow port 3389/TCP through the firewall

Skip this step, If you don't want the firewall running on the system

sudo ufw enable #Active the UFW firewall if it not yet running

sudo ufw allow 3389/tcp # Allow port 3389/TCP through the firewall

sudo ufw reload #Reload the firewall

sudo ufw status # Verify

Configure firewall

Then, Logout session current, because XRDP only support one Xsession

Logout system

On the Windows machine

Now, open application Remote Desktop Connection on the Windows machine to connect Remote desktop from Windows to Linux machine, input IP of the Linux machine and click Connect

Open Remote Desktop Connection app

On the pop-up that requires you to verify the identity of your remote system, ignore the certificate errors and click on the Yes button to proceed with the connection.


Enter Username and Password on the Linux machine:

Input Username and Password

You have now successfully connected to the Linux machine through Remote desktop from Windows:

Success !!!

Thank you for reading !!!

Leave a Reply

Your email address will not be published. Required fields are marked *