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: 192.168.1.18 ( 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:
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
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
Then, Logout session current, because XRDP only support one Xsession
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
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:
You have now successfully connected to the Linux machine through Remote desktop from Windows:
Thank you for reading !!!