DEV Community

dpm_bush
dpm_bush

Posted on Originally published at sshflow.com

Choosing an RDP Client on Linux: Remmina, FreeRDP, and More

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
Enter fullscreen mode Exit fullscreen mode

On Fedora:

sudo dnf install remmina remmina-plugins-rdp remmina-plugins-secret
Enter fullscreen mode Exit fullscreen mode

For a one-off connection, you can launch Remmina from a terminal:

remmina -c rdp://username@server
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

On Fedora, install freerdp:

sudo dnf install freerdp
Enter fullscreen mode Exit fullscreen mode

Start a basic session with a username and server address:

xfreerdp3 /u:username /v:server-address
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 fullscreen mode Exit fullscreen mode

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)