RDP Connections, Streamlined for Linux

A premium, modern GTK3 GUI wrapper for xfreerdp (FreeRDP v2/v3). Save your connections, customize CLI overrides, and double-click RDP files to connect instantly.

Get Started
git clone https://github.com/hermawanramadhan/goxfreerdp.git
📦 FreeRDP v2/v3 🎨 GTK3 C-Bindings 🚀 Zero Overhead wrapper

Interactive Showcase

Experience the application UI directly from your browser. Click elements to see how it works.

GoXFreeRDP GoXFreeRDP
🖥️
Production Web Server
192.168.1.50 👤 administrator ⚙️ xfreerdp3
🖥️
Staging DB Console
10.0.0.12 👤 postgres ⚙️ xfreerdp
🖥️
Development Workstation
192.168.10.100 👤 developer ⚙️ xfreerdp
[Ready] Click the play button (▶) next to a server to initiate an RDP connection and view stdout/stderr logs.
Add Server Config
GoXFreeRDP Icon

GoXFreeRDP

v1.2.0

A beautiful, lightweight front-end for FreeRDP clients, written in Go and using GTK3 binding bindings.

Created by Hermawan Ramadhan

Settings
Default Connection Options
Redirections & Integration
Display Settings
Performance & Experience
Advanced Settings
🔐 Authentication Required

Connection to Server requested credentials or failed with authentication error. Please input password.

Powerful Integration

Designed to bridge the power of command-line FreeRDP with the ease of desktop environments.

🛡️

Connection Management

Save and organize multiple remote desktop profiles with customized user configurations and custom command-line overrides.

🌗

Adaptive Dark Mode

Automatically syncs with your desktop's GTK light or dark mode theme in real-time for visual coherence.

🔑

Credential Fallback

Catches authentication errors and triggers a native GTK prompt to insert passwords safely, rather than typing it in plaintext CLI.

📂

MIME Type Association

Double-click any .rdp configuration file in Dolphin, Nautilus, or Thunar to launch the connection session instantly.

⚙️

Parameter Overrides

Easily toggle features like sound redirection, clipboard synchronization, font smoothing, multi-monitor, or add direct CLI flags.

📜

Live Console Output

Debug connection errors seamlessly. Built-in interactive console displays raw xfreerdp outputs in real-time.

Getting Started

Choose your preferred installation method to get GoXFreeRDP set up on your machine.

Our interactive script checks dependencies, compiles/downloads, and configures icons and menu launchers automatically.

git clone https://github.com/hermawanramadhan/goxfreerdp.git
cd goxfreerdp
chmod +x install.sh
./install.sh

Requires Go (1.18+), GTK3 dev libraries, pkg-config, and GCC. Install dependencies and compile using the Makefile:

# Ubuntu/Debian dependency setup
sudo apt install golang-go libgtk-3-dev pkg-config freerdp2-x11 xdg-utils

# Clone & compile manually
git clone https://github.com/hermawanramadhan/goxfreerdp.git
cd goxfreerdp
make
make install # Installs launcher & executable to local user

Download a precompiled asset matching your architecture directly from releases, rename it, and apply desktop integrations:

# 1. Download release from github.com/hermawanramadhan/goxfreerdp/releases
# 2. Extract and rename binary to 'goxfreerdp' in repo directory
chmod +x goxfreerdp

# 3. Apply user-space integrations (icons, .desktop launcher, file association)
make install-only