Connecting from a Linux desktop to a Windows machine over RDP is straightforward once you pick a client. The main choice is how you want to work: a graphical connection manager, a command-line tool, or an app that fits your desktop environment.
One important distinction: an RDP client connects out to another computer. It does not make your Linux machine accept incoming desktop connections. If your goal is to connect into Linux, you need remote-desktop server software instead; this overview of Linux remote desktop options explains that other side of the setup.
Pick a client based on your workflow
| Client | Good fit for | Interface |
|---|---|---|
| Remmina | Saved connections and several remote-access protocols | Graphical |
FreeRDP (xfreerdp3) |
Terminal use, scripting, and explicit options | Command line |
| GNOME Connections | Simple sessions on a GNOME desktop | Graphical |
| KRDC | A desktop-native option for KDE Plasma | Graphical |
Remmina is a practical starting point for many desktop users: it has saved profiles and supports RDP, VNC, SSH, SPICE, and X2Go. Its RDP plugin uses FreeRDP. FreeRDP is a better fit when you want to launch sessions from a terminal or control options directly.
GNOME Connections and KRDC are lighter choices for straightforward sessions. Connections is designed for GNOME, while KRDC fits naturally into KDE Plasma. If you need more protocols or connection-management features, Remmina is more flexible.
Connect with Remmina
On Debian or Ubuntu, install Remmina and its RDP plugin:
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret
On Fedora:
sudo dnf install remmina remmina-plugins-rdp remmina-plugins-secret
For a one-off connection, you can launch Remmina from a terminal:
remmina -c rdp://username@server
For repeated connections, use the graphical app to save a profile instead of retyping the host details each time. If RDP is missing from Remmina on a Debian-based system, check that the RDP plugin is installed.
Connect from the command line with FreeRDP
FreeRDP's xfreerdp3 command is useful when you want a session without opening a connection manager. On Ubuntu 24.04 and later, the package name is freerdp3-x11:
sudo apt update
sudo apt install freerdp3-x11
On Fedora, install freerdp:
sudo dnf install freerdp
Start a basic session with a username and server address:
xfreerdp3 /u:username /v:server-address
You can add settings such as a window size, clipboard sharing, and explicit Network Level Authentication:
xfreerdp3 /u:username /v:server-address /sec:nla /size:1920x1080 +clipboard
Leave the password out of the command. FreeRDP will prompt for it interactively, rather than putting it directly in shell history.
Choose a desktop-native client
If your needs are occasional, basic sessions, a minimal app may be enough.
Install GNOME Connections on Debian or Ubuntu with:
sudo apt install gnome-connections
In the app, add a connection and enter the address in the form rdp://server-address.
For KDE Plasma, install KRDC:
sudo apt install krdc
Enter the server address in its Connect to field and choose RDP when prompted. Both apps also support VNC, but they offer fewer advanced RDP options and other protocols than Remmina or FreeRDP.
Check the Windows side before troubleshooting Linux
The client can only connect if the remote computer is configured to accept RDP connections. Enable Remote Desktop on Windows and confirm that its edition supports incoming connections: Windows Home does not include the built-in Remote Desktop host. Windows Pro, Enterprise, Education, and Windows Server editions can host Remote Desktop.
RDP uses port 3389 by default. Whether that port is reachable depends on the Windows firewall and network configuration. A working client does not make it safe to expose RDP directly to the internet; review how RDP port 3389 works and what to consider when securing it before changing firewall or network exposure.
A quick decision
- Choose Remmina for a general-purpose graphical client with saved profiles and multiple protocols.
- Choose FreeRDP when you prefer the command line or need to launch sessions with explicit options.
- Choose GNOME Connections for simple sessions on GNOME.
- Choose KRDC for a straightforward KDE Plasma experience.
These tools all connect from Linux to a remote desktop. If you instead want people to connect to your Linux machine, look for server-side remote-desktop software; installing an RDP client alone will not enable incoming connections.
I originally published a more detailed version of this guide on the SSHFlow blog.
I'm also building SSHFlow — an SSH client where every server gets its own workspace for terminals, SFTP, code, and databases.
Top comments (0)