Fact-checked by Grok 2 weeks ago

Remmina

Remmina is a free and open-source remote desktop client designed for Linux and other POSIX-based operating systems, enabling users to access and control remote computers over networks using protocols such as RDP, VNC, SSH, SPICE, and X2Go. Developed initially by Vic Lee in 2009 and licensed under the GPLv2+, it provides a graphical user interface built with GTK+ for managing multiple remote connections efficiently. The software emphasizes ease of use for system administrators, travelers, and remote workers, supporting features like multi-monitor setups, kiosk mode, and plugin extensibility via a Python wrapper. Key to Remmina's functionality is its support for a variety of network protocols, each with customizable options tailored to specific needs; for instance, the RDP allows configuration of , redirection, and gateway support, while the VNC includes options for connections and view-only modes. It also integrates SSH tunneling for secure access, SFTP for file transfers, and EXEC for running remote commands, with deprecated protocols like NX and XDMCP phased out since version 1.4.20 to focus on more modern and secure alternatives. Available in over 67 languages and packaged for more than 50 distributions, Remmina is community-driven, with ongoing development hosted on and funded through donations. Beyond basic connectivity, Remmina stands out for its advanced tools, including capture, host key mappings for actions like toggling , and opt-in usage statistics to improve the project, all while maintaining a lightweight footprint suitable for both desktop and server environments. As libre software, it prioritizes user freedom and privacy, avoiding proprietary dependencies and ensuring all code is auditable by the open-source community.

Introduction

Overview

Remmina is a and open-source remote desktop client licensed under the GNU General Public License (GPL), which enforces principles to ensure derivative works remain open. It is designed primarily for POSIX-compliant operating systems, such as and other environments, enabling users to securely access, control, and share files with remote desktops from local machines. This client facilitates remote connections through various network protocols, supporting tasks like system administration, , and in diverse computing scenarios. Developed in the C programming language with the GTK+ library, Remmina offers seamless integration with desktop environments like GNOME, KDE, and others, providing a lightweight and responsive interface for managing connections. It supports localization in 67 languages, making it accessible to a global user base, and is packaged for over 50 Linux distributions, ensuring broad compatibility across different systems. As a community-driven project, Remmina relies on contributions from developers, translators, and users worldwide, with funding sustained through platforms like Liberapay and Open Collective to support ongoing maintenance and enhancements.

History

Remmina was initially developed in 2009 by Vic Lee as a GTK+-based remote desktop client aimed at providing a lightweight solution for connecting to various remote systems. The project began on , with early versions focusing on core protocols like RDP and VNC to meet the needs of users managing remote connections. In the second half of 2011, development transitioned to the FreeRDP project, where it was maintained as a sister project until the end of 2018, spanning nearly seven years of collaborative enhancements. This period saw significant integration with FreeRDP for improved RDP support and overall protocol handling, building on Lee's foundational work. By mid-2018, Remmina moved to an independent repository under the Remmina project, marking a shift toward community-driven maintenance with an emphasis on stability and broader adoption. A key milestone was the first stable release, version 1.2.1, in May 2018, following extensive development under FreeRDP. Further evolution included the deprecation of unmaintained protocols such as NX and XDMCP in version 1.4.20, released in July 2021, to streamline the codebase. The project's growth has been propelled by community contributions, expanding support for additional protocols like , , and , while achieving translations into over 60 languages to enhance accessibility across global users.

Features

Supported Protocols

Remmina supports several active protocols for remote desktop and terminal connections, enabling users to access diverse systems through a unified interface. The (RDP) facilitates connections to Windows environments, offering features such as configurable , audio redirection, shared folders, and support for remote gateways to enhance security and performance. (VNC) provides cross-platform graphical access with options for repeater mode, view-only sessions, clipboard synchronization, and to ensure secure . (SSH) enables terminal-based access and secure file transfer via , including via passwords or identity files, session logging, and compression for efficient data handling. The Simple Protocol for Independent Computing Environments () is optimized for management, supporting TLS , USB redirection, audio channels, and dynamic adjustments. Additionally, EXEC allows local or remote command execution in asynchronous mode, while WWW supports web-based access through with proxy configurations and embedded browser capabilities. , an extension of the NX protocol, delivers high-performance remote desktop sessions with features like session suspension and multimedia streaming over low-bandwidth connections. Since version 1.4.20 released in 2021, Remmina has deprecated and removed support for NX, XDMCP, and Simple Terminal protocols due to reliance on outdated GTK functions like XEmbed and lack of maintenance, which remain the case as of version 1.4.41 (August 2025). These protocols, once used for accelerated X11 forwarding (NX), direct X Display Manager Control (XDMCP), and basic terminal emulation (Simple Terminal), are no longer built or distributed with Remmina to prioritize modern, secure alternatives. Remmina's protocol support is built on a modular architecture, where each is implemented as a loadable in the plugins directory, allowing for easy extension and maintenance without altering the core application. This design includes native C-based plugins for core protocols and experimental support for plugins, enabling developers to create custom integrations by scripting against the Remmina API for tasks like connection handling and extensions.

User Interface and Capabilities

Remmina features a graphical user interface built on the GTK+ framework, which ensures seamless integration with Linux desktop environments such as GNOME. The interface includes a central connection manager that organizes profiles into groups, supports tabbed sessions for handling multiple remote connections simultaneously, and provides a customizable toolbar for quick access to tools like scaling and fullscreen toggles. A built-in search bar allows users to quickly locate and filter connection profiles, while optional tray icon support enables minimized operation and system notifications. Among its core capabilities, Remmina offers multi-monitor support to extend remote sessions across multiple displays, kiosk mode for deploying in locked-down environments like thin clients, and versatile display options including full-screen mode, scaled viewing with adjustable quality, and persistence of the last-used view mode per connection. Users can capture screenshots during sessions with configurable save locations and filenames, preventing automatic clipboard insertion for security, and define host keys for actions such as toggling fullscreen or scaling. Double-clicking a profile in the manager initiates a connection directly, streamlining workflow for frequent users. Advanced options enhance flexibility across session types, such as sharing local folders in RDP connections, displaying the remote cursor in VNC sessions, and enabling session logging with customizable paths in SSH terminals, including selectable color schemes for better visibility. For accessibility and customization, Remmina is localized in 67 languages to support global users and employs a architecture for extending functionality beyond core protocols. Its GTK+ foundation facilitates deep integration with desktop environments like , allowing theme consistency and native keyboard shortcuts.

Development

Development Process

Remmina is primarily written in , utilizing the + toolkit for its to ensure cross-desktop compatibility on environments. The software features a modular that allows for extensible support of remote desktop protocols, enabling developers to add or modify protocol handlers without altering the core codebase. Essential dependencies include libfreerdp for (RDP) functionality, libvncserver (incorporating libvncclient) for (VNC) connections, and libssh for (SSH) tunneling and terminal access. The project's development workflow is hosted on , where it has resided since June 2018, facilitating collaborative and issue tracking. Contributions from the community are integrated via merge requests, adhering to a fork-and-pull model that encourages bug fixes, feature enhancements, and code reviews. Building Remmina relies on as the primary build system, which supports configurable compilation options for debugging and optimization. Additionally, the plugin framework extends to , allowing developers to create protocol plugins using scripting for rapid prototyping and integration. Originally initiated as a solo effort by developer Vic Lee until mid-2011, Remmina was subsequently adopted by the FreeRDP team for temporary stewardship before transitioning to an open community model under the independent Remmina project. The current maintenance team comprises key contributors including Antenore Gatta, Giovanni Panozzo, Allan Nordhøy, Matteo F. Vescovi, and Hiroyuki Tanaka, who oversee code quality and integration. The project sustains itself through user donations collected via platforms such as Open Collective and , which fund ongoing development and infrastructure. Community engagement occurs through channels like IRC on and , while localization efforts are coordinated on Weblate, supporting translations into 67 languages to broaden . Ongoing prioritizes improvements to reduce crashes during multi-session handling, enhancements such as updated TLS configurations for RDP connections compatible with legacy systems, and expanded multi-platform support across over 50 distributions through refined packaging and dependency management.

Major Releases

Remmina's began with the 0.8.x series, released between 2009 and 2011 under lead developer Vic Lee. These early versions introduced core functionality for remote desktop access, including initial support for RDP and VNC protocols, establishing Remmina as a lightweight GTK-based client for users. The series focused on basic multi-protocol integration and plugin architecture to replace tools like rdesktop and vncviewer. Following a period of from 2011 onward, Remmina achieved version 1.2.30 stable release on May 28, 2018, marking a significant in the FreeRDP era. This release emphasized stability, enhanced RDP integration via FreeRDP libraries, and improved multi-protocol handling, including fixes for elements like search bar placement and linking issues. It represented the culmination of seven years of community contributions after the project's migration to under FreeRDP. In the 1.4 series, version 1.4.20 was released in 2021, deprecating and removing support for the unmaintained NX, XDMCP, and Simple Terminal (ST) protocols to streamline the codebase and reduce maintenance overhead. This update prioritized active protocols like RDP, VNC, SPICE, and SSH, aligning with modern security standards and GTK dependencies. Version 1.4.35, released on February 23, 2024, introduced new build dependencies including libcurl4-openssl-dev and libssl-dev version 3.0 or higher, enabling enhanced security features such as improved HTTP(S) support and SSL/TLS handling for remote connections. Optional Python plugin support was added via build flags like -DWITH_PYTHONLIBS=ON, further extending customization options. Remmina's release cadence has been irregular and community-driven, with updates driven by volunteer contributors via merge requests, emphasizing bug fixes, compatibility enhancements (e.g., support introduced in versions beyond 1.4.10), and protocol updates rather than fixed schedules. As of November 2025, the latest release is version 1.4.41, available through tags, incorporating ongoing refinements like cleanups and FreeRDP revisions.

Installation and Usage

Packaging and Installation

Remmina is available in the official repositories of major distributions, allowing straightforward installation via s. For Debian-based systems like , users can install it using the Advanced Packaging Tool (APT) with the command sudo apt install remmina, which pulls in core dependencies such as GTK+3 and libfreerdp2. On , the DNF package manager handles installation via sudo dnf install remmina, integrating with for secure credential storage. users employ with sudo pacman -S remmina from the official repositories, or the AUR for development snapshots like remmina-git. For distribution-agnostic installation, Remmina supports containerized formats like and . installation from Flathub involves running flatpak install flathub org.remmina.Remmina, followed by installing H.264 codecs with flatpak install org.freedesktop.Platform.openh264 for full multimedia support; this method ensures compatibility across desktops but may require additional configuration for SSH access. provides another universal option, particularly suited for , via sudo snap install remmina for the stable channel or --edge for previews; however, versions lack direct SSH tunneling and may encounter compatibility issues on some older systems. Compiling Remmina from source offers access to the latest features, such as version 1.4.41, and requires building dependencies using CMake. Core libraries include GTK+3 (libgtk-3-dev), FreeRDP (libfreerdp-dev), libssh (libssh-dev), libvncserver (libvncserver-dev), and libsodium (libsodium-dev); starting with version 1.4.35, libcurl4-openssl-dev and libssl-dev (version 3.0.0 or higher) are mandatory build dependencies. Protocol-specific options encompass libspice-protocol-dev for SPICE support and gtk-vnc for enhanced VNC handling. Installation steps involve cloning the repository from GitLab (git clone https://gitlab.com/Remmina/Remmina.git), creating a build directory, configuring with CMake (e.g., cmake -DCMAKE_BUILD_TYPE=Release -DWITH_FREERDP3=ON ..), compiling via make, and installing with sudo make install; users should first build FreeRDP if using the master branch. Distro-specific considerations enhance integration with desktop environments. On and , the libayatana-appindicator3-dev package enables system tray icons for and other environments, addressing visibility issues in sessions. and derivatives require additional packages like libappindicator-gtk3-devel for app indicator support, while Arch users benefit from native VTE3 integration for terminal features.

Basic Usage

To begin using Remmina after , launch the application from the system menu or by executing the remmina command in a . The main interface displays a list of saved profiles, with options for quick connections or creating new ones. Creating a profile involves clicking the "+" or pressing Ctrl+N to open the profile editor. Select the desired (such as RDP, VNC, or SSH), enter the (e.g., or ), specify credentials like username and if required, and configure basic settings like resolution or . Save the profile to store it for future use; profiles are saved as .remmina files in the user's configuration directory, typically ~/.config/remmina. To connect, double-click a profile from the list or select it and click the "Connect" button; Remmina will prompt for any necessary and establish the session. Multiple sessions can be managed in tabbed windows, allowing switching between via the tab bar. To toggle fullscreen mode, use the session or (default host key is right Ctrl, combined with F for ); in fullscreen, a floating appears when pressing the host key plus to access options like minimizing or scaling. Screenshots of the remote session can be captured directly from the session sidebar menu. For common tasks, file transfers in SSH sessions are handled by selecting the protocol in a profile, connecting to the server, and using the integrated file browser to upload or download files. In RDP connections, sound redirection to the local machine is enabled by setting the audio output mode to "local" in the advanced profile settings. VNC sessions support a view-only mode, activated via the protocol-specific options to observe without input control. Basic troubleshooting for connectivity issues includes configuring SSH in profile advanced settings or using pre- and post-connection commands to establish tunnels (e.g., for secure RDP access). Profile management features include editing existing profiles by right-clicking them in the main list and selecting properties, grouping them into folders (e.g., "Work" or "Home") for organization during creation or editing, and using the search bar at the top of the interface to quickly locate profiles by name or group. The provides icons for common actions like adding profiles, connecting, or accessing preferences, facilitating efficient navigation.

References

  1. [1]
    Remmina remote desktop client
    Work from home or access files remotely. Not only free as in gratis and Open Source, but also copyleft. Lovingly made, funded, and translated by the likes of ...Http/https · How to install Remmina · Remmina Features · Discover
  2. [2]
    Remmina - GitLab
    Jun 20, 2018 · Copylefted libre software, licensed GPLv2+. Initially developed by Vic Lee.
  3. [3]
    Remmina Features
    Remmina is a free, open-source tool for handling all your remote connection needs for protocols like RDP, SSH, SPICE, and VNC.
  4. [4]
    Remmina - The GTK Remote Desktop Client download - SourceForge
    Rating 4.5 (33) Features. A GTK application; Maintain a list of connection profiles, organized by groups; RDP, VNC, NX, XDMCP, SSH, Telepathy; Make quick connections by ...
  5. [5]
    Remmina - Open Collective
    Funded, made, translated and built 100% by kind people like yourself. ; Available in 67 languages and 50+ distributions. . Remmina.org · Remmina on Gitlab
  6. [6]
    Remmina's profile - Liberapay
    Remote Desktop client for Linux, macOS, and WSL2. @Remmina. 1.4.36 out now :) Remmina receives €77.53 per week from 148 patrons. Goal: €100.00.
  7. [7]
    Hi! Remmina - a multiprotocol remote desktop client. - FreeRDP
    Jan 23, 2019 · Remmina was initially developed by Vic Lee till the second half of 2011, after that it has been adopted (temporarily) by the FreeRDP project, ...Missing: handed | Show results with:handed
  8. [8]
    Contributing to Remmina
    You can contribute to Remmina by coding, fixing bugs, implementing features, donating, reporting issues, submitting documentation, or sharing videos.Missing: distributions funding
  9. [9]
    README.md · master - Remmina - GitLab
    May 17, 2023 · RDP, VNC, SPICE, X2Go, SSH, WWW (HTTP protocol) and EXEC network protocols are supported. Written in GTK, with a port to Qt underway ...
  10. [10]
    1660515 – Remmina NX plugin no longer works - Red Hat Bugzilla
    nx, st and xdmcp have been removed from Remmina 1.4.20. These no longer build in the current form and they have no maintainer. https://bugzilla.redhat.com ...
  11. [11]
    Disablinng XDMCP, NX, and ST (!2291) · Merge requests - GitLab
    Disablinng XDMCP, NX, and ST ... These plugins use the deprecated functions of GtkSocket and GtkPlug They will be moved in a separated repository.
  12. [12]
    plugins · master - Remmina - GitLab
    Removed plugins. We have removed the folders xdmcp, nx and st due to the fact that Gtk have deprecated the functions using the XEmbed protocol.
  13. [13]
    The GTK+ Remote Desktop Client: Writing Remmina plugins in Python
    Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported. Main Page ...
  14. [14]
    Remmina - The GTK+ Remote Desktop Client - GitLab
    Remmina is developed on GitLab (as of the 20th of June 2018). Use these wiki and issues links instead of GitHub equivalents. Open the wiki menu on the right ...
  15. [15]
    https://gitlab.com/Remmina/Remmina/-/wikis/Compila...
    The following dependencies are needed to build a full Remmina distribution, you may need to tailor it as per your needs. The distributions below are sorted ...
  16. [16]
    The GTK+ Remote Desktop Client: Plugin-Development - Remmina
    Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers ...Missing: architecture | Show results with:architecture
  17. [17]
    CONTRIBUTING.md · master · Remmina / Remmina · GitLab
    ### Development Workflow and Contribution via Merge Requests
  18. [18]
    Writing Remmina plugins in Python (#2125) · Issue - GitLab
    Mar 22, 2020 · Remmina can detect and load Python files in the plugin folder. While executing the python file it provides a Python module called "remmina" ...
  19. [19]
  20. [20]
    Who are we? - Remmina
    Remmina is a stable, advanced, easy-to-use and easy-to-update RDP client, used by users for accessing Windows servers and managing multiple connections.
  21. [21]
    How to install Remmina
    Remmina is a free, open-source tool for handling all your remote connection needs for protocols like RDP, SSH, SPICE, and VNC.
  22. [22]
    Remmina 1.0 released!
    Feb 11, 2012 · Remmina 1.0 released! ... The first release since Remmina was moved from SourceForge to the FreeRDP GitHub repository as a sister project.Missing: initial | Show results with:initial<|separator|>
  23. [23]
    FEDORA-EPEL-2021-07bf174fd3 — bugfix update for remmina
    remmina-1.4.20-1.el7 ... Update to 1.4.20, drop nx, st and xdmcp plugins. This update has been submitted for testing by slaanesh. ... This update's test gating ...
  24. [24]
    v1.4.35 - Remmina - GitLab
    Feb 23, 2024 · NX, XDMCP and ST have been removed. Use -DWITH_FREERDP3=ON if you want to use the newest FreeRDP version; libsodium is needed to build Remmina.
  25. [25]
    CHANGELOG.md · master - Remmina - GitLab
    Aug 7, 2025 · Release v1.4.41 · Hiroyuki Tanaka authored 2 months ago. 6feda621. History · myheroyuki's avatar 6feda621 2 months ago. History ... Remmina stats ...
  26. [26]
    How do I use dual monitors with Remmina Remote Desktop Client?
    Sep 11, 2013 · I am trying to use my two monitors when I use Remmina remote desktop client. There is no option for using all monitors like RDP in Windows.Missing: distributions | Show results with:distributions
  27. [27]
    Releases · Remmina / Remmina · GitLab
    NX, XDMCP and ST have been removed. Use -DWITH_FREERDP3=ON if you want to use the newest FreeRDP version; libsodium is needed to build Remmina. webkit2gtk3 is ...
  28. [28]
  29. [29]
    Remmina - ArchWiki
    Sep 2, 2025 · Remmina is a remote desktop client written in GTK hosted on Gitlab [1]. It supports the following protocols: SSH, VNC, RDP, X2Go, HTTP(S)
  30. [30]
    Access a remote desktop - Ubuntu
    Ubuntu comes with Remmina remote desktop client with support for VNC and RDP protocols. We will use it to access remote server.
  31. [31]
    Using Remote Desktop Tool Remmina on Ubuntu - It's FOSS
    Oct 24, 2023 · Install, Configure and Use Remmina on Ubuntu. Here's how to use Remmina on Ubuntu to connect to Linux or Windows remote systems.
  32. [32]
    Remmina - A Remote Desktop Client and File Sharing for Linux
    May 17, 2023 · Remmina is a free and open-source, feature-rich, and powerful remote desktop client for Linux and other Unix-like systems, written in GTK+3.
  33. [33]
    Remmina Usage FAQ - GitHub
    May 1, 2017 · Remmina Usage FAQ · Where are all my connections and preferences stored ? · Can I start a connection using a shell command ? · When I'm in ...<|control11|><|separator|>
  34. [34]
    Remmina RDP - No sound from remote Windows 7 computer
    Jan 13, 2014 · You can solve this by setting "Edit/Advanced/Audio output mode" to "local". I had a same problem, but after setting this, I could hear sound ...What is the correct configuration for Remmina to receive/produce ...Remmina not receiving audio - Ask UbuntuMore results from askubuntu.com
  35. [35]
    View-only mode not working && request for a button (#2682) - GitLab
    Feb 2, 2022 · The view-only mode is not working anymore after latest upgrade. Tried on RDP and VNC connection, and the key shortcut as well.
  36. [36]
    Remmina RDP SSH Tunnel
    Mar 13, 2019 · An SSH tunnel can be set up using Remmina's pre/post commands to connect to an RDP server, which can start or stop the tunnel.