Linux talks to Windows over the Remote Desktop Protocol just fine. Install an RDP client — Remmina for a GUI, xfreerdp (FreeRDP) for the terminal — point it at the Windows machine's IP, and you're in. The catch is on the other side: the Windows host has to be configured to accept incoming Remote Desktop connections, and Windows Home editions can't do that.
Everything below was validated on Ubuntu 22.04 (FreeRDP 2.6) connecting to Windows 11 Pro and Windows Server 2022.
In the realm of seamless cross-platform interactions, the ability to remotely connect to a Windows machine from a Linux environment has become a pivotal need. Whether you're a developer, system administrator, or just someone with diverse computing needs, the ability to RDP from Linux to Windows can greatly enhance your workflow. Before diving in, read our guide on How to Connect to RDP from Windows for a better understanding of Windows RDP from Linux.

❓ Can I RDP from Linux to Windows?
Before we dive into the technicalities, let's address the fundamental question: Can you RDP from Linux to Windows? The answer is a resounding yes.
- While the Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, the open-source community has developed robust solutions.
- These tools allow Linux users to establish an RDP connection with Windows-based computers.
✅ Does RDP work on Linux?
- Absolutely. RDP can work seamlessly on Linux, thanks to various software solutions that bridge the gap between these two distinct operating systems.
- Linux users can leverage tools like Remmina, which serves as a potent RDP client.
- With the Linux environment becoming increasingly user-friendly, even those with minimal technical prowess can set up RDP connections effortlessly. If you want to compare more clients head-to-head, see our roundup of the best Linux RDP clients.
🔧 What You Need Before Connecting
Windows edition must support Remote Desktop host
Windows 10/11 Pro, Enterprise, Education, and any Windows Server edition can host RDP sessions. Windows Home cannot — it ships with the client only. This trips up more people than any other issue. Check under Settings → System → About.
Enable Remote Desktop on Windows 10, 11, or Server
Settings → System → Remote Desktop → toggle it on. On Windows Server, use Server Manager → Local Server → Remote Desktop → Enable. Microsoft's own walkthrough lives in the Remote Desktop access documentation if you want the official version.
Allow RDP through Windows Firewall
Enabling Remote Desktop normally creates the firewall rule automatically. Normally. If it didn't, open Windows Defender Firewall → Allow an app → tick Remote Desktop for the correct network profile (Private, usually). Port 3389/TCP is what you're opening.
Find the Windows PC IP address or hostname
On the Windows box, run ipconfig in Command Prompt and grab the IPv4 address. On a local network that's typically something like 192.168.1.10. Hostnames work too, but only if DNS or NetBIOS resolution is working from your Linux side.
Make sure your user can log in remotely
Administrators get remote access by default. Everyone else needs adding to the Remote Desktop Users group: Remote Desktop settings → Select users that can remotely access this PC → Add.

🧭 Best Linux RDP Clients for Windows Connections
| Client | GUI/CLI | Best for | Notes |
| Remmina | GUI | Most desktop users | Saved profiles, RDP/VNC/SSH in one app. Actively maintained. |
| FreeRDP (xfreerdp) | CLI | Admins, scripts, automation | Most complete RDP feature support. Powers Remmina's RDP backend. |
| KRDC | GUI | KDE Plasma users | Clean, minimal. Fewer redirection options. |
| GNOME Connections / Vinagre | GUI | Casual GNOME users | Vinagre is effectively retired; Connections replaced it. |
| rdesktop | CLI | Legacy systems only | Doesn't handle modern NLA/TLS well. Skip it. |
My take: use Remmina if you want to click things, xfreerdp if you want repeatable commands. I keep both installed. For a deeper look at every available Linux client, see our guide to Linux remote desktop.
🛠️ How to RDP from Linux to Windows Using Remmina
Let's get our hands dirty and explore the step-by-step process of establishing an RDP connection from a Linux machine to a Windows system using Remmina.
Install it:
sudo apt install remmina remmina-plugin-rdp # Ubuntu / Debian
sudo dnf install remmina # Fedora / RHELFor a complete walkthrough with screenshots, see our guide on remote desktop on Ubuntu. And if you want a pre-configured Ubuntu environment instead of building one yourself, Ubuntu RDP hosting gets you there faster.
Step 1: Launch the RDP Client
Once installed, launch Remmina. You'll be greeted with a user-friendly interface that allows you to configure your remote connections.

Step 2: Add a New Connection
Click on the "+" button to add a new connection. Provide a connection name for your reference.

Step 3: Configure Connection Settings
Enter the IP address or hostname of the Windows machine you intend to connect to. Choose the appropriate protocol as "RDP." Adjust other settings like screen resolution according to your preferences.
- Protocol: RDP – Remote Desktop Protocol
- Server:
192.168.1.10(add:3389only if you changed the port) - Username / Password: your Windows account. For domain accounts, fill the Domain field too.
- Resolution: "Use client resolution" is fine for most people
- Colour depth: drop to 16-bit on slow links — it makes a noticeable difference

Step 4: Input Credentials
Enter the username and password of your Windows account to establish the connection securely.

Under the Advanced tab you'll find clipboard sharing and share-folder options. Saved credentials go into your desktop keyring (GNOME Keyring / KWallet), not a plaintext file, which is the right place for them.
Step 5: Save and Connect
Save the connection settings and initiate the connection. You're now remotely connected to your Windows machine from your Linux environment.


💻 How to RDP from Linux to Windows Command Line (xfreerdp)
For those who revel in the command line interface, fear not, as you can also initiate an RDP connection using the terminal.
sudo apt install freerdp2-x11 # Ubuntu / Debian
sudo dnf install freerdp # Fedora / RHELBasic connection:
xfreerdp /u:USERNAME /p:'PASSWORD' /v:192.168.1.10Fullscreen, resizable, with clipboard sync:
xfreerdp /u:USERNAME /p:'PASSWORD' /v:HOSTNAME /f /dynamic-resolution /clipboardDomain login with a shared folder and audio:
xfreerdp /u:DOMAIN\\USERNAME /p:'PASSWORD' /v:SERVER \
/drive:share,$HOME/Downloads /sound /printerOther flags worth knowing: /multimon for multi-monitor sessions, /sec:nla or /sec:tls to force a security layer, and /cert:ignore to skip certificate validation. Use /cert:ignore in a lab or on a trusted LAN only — it disables the check that protects you from a man-in-the-middle. Full flag reference is in the FreeRDP command line documentation.
One habit worth adopting: leave /p: off entirely and let xfreerdp prompt you. Passwords in shell history are a bad time.

🧰 Other Methods and Clients for RDP from Linux to Windows
When it comes to RDP'ing from Linux to Windows, flexibility reigns supreme. Various methods and clients cater to different user preferences and technical requirements. If you're running Kali Linux, our guide on RDP on Kali Linux covers distro-specific setup. And if you want the general lay of the land first, see how to set up a remote desktop on Linux.
Vinagre: The Versatile RDP Client
Method: Vinagre is another option that supports RDP connections and offers additional functionalities.
Steps to Use:
- Install Vinagre: Install Vinagre via your package manager.
- Open Vinagre: Launch the Vinagre application.
- Create a Connection: Click on the "+" button to create a new connection.
- Configure Connection Settings: Enter Windows machine details, select "RDP" as the protocol, and adjust other settings.
- Input Credentials: Provide your Windows login credentials.
- Save and Connect: Save the settings and initiate the connection.
RDesktop: The Old-School Choice
Method: RDesktop is a command-line RDP client with a simple interface.
Steps to Use:
- Install RDesktop: Install the "rdesktop" package on your Linux system.
- Run the Command: In the terminal, execute:
rdesktop -u <username> -p <password> <IP_address_or_hostname>Replace placeholders with your Windows account and machine details.
FreeRDP: The Modern Command Line Tool
Method: FreeRDP is an advanced command line RDP client with enhanced features.
Steps to Use:
- Install FreeRDP: Install the "freerdp2-x11" package via your package manager.
- Execute the Command: Run the following in the terminal:
xfreerdp /u:<username> /p:<password> /v:<IP_address_or_hostname>🪟 How Do I RDP from Linux to Windows 10?
- RDP'ing from Linux to Windows 10 follows a similar path as connecting to other Windows versions.
- The steps outlined above remain consistent, ensuring that the bridge between the two platforms remains robust.
🔄 Can You RDP from Windows to Linux?
- Absolutely, the cross-platform synergy isn't a one-way street.
- You can also establish an RDP connection from a Windows machine to a Linux system.
- To achieve this, you'll need an RDP server installed on the Linux side, such as "xrdp."
- Once configured, you can use your Windows Remote Desktop client to connect to the Linux machine, mirroring the steps outlined earlier.
- You can also connect to Windows Server on Android Device via RDP.
🚨 Common RDP Problems and How to Fix Them
- Ping works but RDP won't connect. ICMP and TCP 3389 are different things. Test with
nc -zv 192.168.1.10 3389. If it's closed, it's the firewall or Remote Desktop is still disabled. - CredSSP / NLA authentication failed. Usually an unpatched Windows host or a FreeRDP version mismatch. Patch Windows first. As a temporary workaround, try
/sec:tls, and never disable NLA on an internet-facing host. - "Your credentials did not work." Try
DOMAIN\useroruser@domain.local. Local accounts sometimes need.\username. Stale saved credentials in Remmina cause this constantly — clear and re-enter. - Account not authorized for remote login. The user isn't in Remote Desktop Users. Add them.
- Windows Home host. No fix. Upgrade to Pro or use a different remote tool.
- Black screen after login. Reconnect with
/bpp:16, disable font smoothing, or turn off the GPU-accelerated display driver. Group Policy on some servers also causes it. - Certificate warning. Expected with self-signed certs. Verify the thumbprint once, then accept it permanently.
- Hostname doesn't resolve. Use the IP, or add an entry to
/etc/hosts.
🔐 RDP Security Best Practices
Exposing port 3389 to the public internet is how ransomware gets in. Not a hypothetical — brute-force bots scan for it around the clock.
| Unsafe | Safer |
| 3389 forwarded on the router | WireGuard/OpenVPN tunnel, then RDP over the LAN |
| Just changing the port number | RD Gateway with TLS, or IP allowlisting at the firewall |
| NLA disabled | NLA required, TLS enforced |
| Shared admin account | Named accounts, least privilege, account lockout policy |
Also: patch Windows monthly, enable MFA where your identity platform supports it, and check Event Viewer → Security for Event ID 4625 (failed logons). If you're running remote Windows workloads, a properly firewalled Windows VPS with RDP hosting beats punching holes in your home router.
📁 Sharing Files, Clipboard, Audio, and Printers
Clipboard: /clipboard in xfreerdp, or the clipboard toggle in Remmina's Advanced tab. Text works instantly; large file copies don't cross the clipboard.
For files, redirect a local folder with /drive:share,$HOME/Downloads — it appears in Windows Explorer under "This PC" as a network drive. Remmina's equivalent is the "Share folder" field. Audio uses /sound, printers use /printer. Every redirection channel adds bandwidth overhead, so on a slow link enable only what you actually need.
🆚 RDP vs VNC vs SSH
- RDP — full Windows desktop, multi-user sessions, redirection support. Best for Windows administration.
- VNC — mirrors an existing physical screen, cross-platform, no session isolation. Handy for support and Linux desktops.
- SSH — terminal only, lowest overhead, most secure by default. Best for Linux servers and scripted admin work.
🎯 Conclusion
In conclusion, the capability to RDP from Linux to Windows brings forth a realm of possibilities, erasing the boundaries between these two distinct operating systems. Windows side first, Linux side second. Confirm the edition, enable Remote Desktop, add the user, open the firewall — then pick Remmina or xfreerdp based on whether you prefer clicking or typing. And keep 3389 off the open internet.
If you're looking for RDP services, MonoVM is here to help you. Click here and Buy RDP. Want to see how MonoVM stacks up against the field? Our list of the best RDP providers compares the top ten options. With the availability of user-friendly tools and command line options, this process is no longer an enigma reserved for tech wizards. Embrace the seamless connectivity, and unlock a world of productivity at your fingertips.