How to connect to a remote desktop from Linux

Remmina's minimal UI makes it easy to remotely access Linux PCs and Windows 10.
464 readers like this
464 readers like this
5 tools to support distributed sysadmin teams

Opensource.com

A remote desktop, according to Wikipedia, is "a software or operating system feature that allows a personal computer's desktop environment to be run remotely on one system (usually a PC, but the concept applies equally to a server), while being displayed on a separate client device."

In other words, a remote desktop is used to access an environment running on another computer. For example, the ManageIQ/Integration tests repository's pull request (PR) testing system exposes a Virtual Network Computing (VNC) connection port so I can remotely view my PRs being tested in real time. Remote desktops are also used to help customers solve computer problems: with the customer's permission, you can establish a VNC or Remote Desktop Protocol (RDP) connection to see or interactively access the computer to troubleshoot or repair the problem.

These connections are made using remote desktop connection software, and there are many options available. I use Remmina because I like its minimal, easy-to-use user interface (UI). It's written in GTK+ and is open source under the GNU GPL license.

In this article, I'll explain how to use the Remmina client to connect remotely from a Linux computer to a Windows 10 system and a Red Hat Enterprise Linux 7 system.

Install Remmina on Linux

First, you need to install Remmina on the computer you'll use to access the other computer(s) remotely. If you're using Fedora, you can run the following command to install Remmina:

sudo dnf install -y remmina

If you want to install Remmina on a different Linux platform, follow these installation instructions. You should then find Remmina with your other apps (Remmina is selected in this image).

Remmina icon highlighted on desktop

Launch Remmina by clicking on the icon. You should see a screen that resembles this:

Remmina client

Remmina offers several types of connections, including RDP, which is used to connect to Windows-based computers, and VNC, which is used to connect to Linux machines. As you can see in the top-left corner above, Remmina's default setting is RDP.

Connecting to Windows 10

According to Microsoft's product matrix, Windows 10 Home edition does not include the ability to connect over RDP, so you must be running Pro or Enterprise editions to connect over RDP.

Before you can connect to a Windows 10 computer through RDP, you must change some permissions to allow remote desktop sharing and connections through your firewall.

To enable remote desktop sharing, in File Explorer right-click on My Computer → Properties → Remote Settings and, in the pop-up that opens, check Allow remote connections to this computer, then select Apply.

Enabling Remote Desktop Sharing in Windows

Next, enable remote desktop connections through your firewall. First, search for firewall settings in the Start menu and select Allow an app through Windows Firewall.

Finding firewall settings

In the window that opens, look for Remote Desktop under Allowed apps and features. Check the box(es) in the Private and/or Public columns, depending on the type of network(s) you will use to access this desktop. Click OK.

Changing firewall settings for Remote Desktop

Go to the Linux computer you use to remotely access the Windows PC and launch Remmina. Enter the IP address of your Windows computer and hit the Enter key. (How do I locate my IP address in Linux and Windows 10?) When prompted, enter your username and password and click OK.

Logging into Remote Desktop with Remmina

If you're asked to accept the certificate, select OK.

Accepting the certificate

You should be able to see your Windows 10 computer's desktop.

Viewing Windows 10 Remote Desktop

Connecting to Red Hat Enterprise Linux

To set permissions to enable remote access on your Linux computer, open Settings from the Activities menu in the top left corner of the GNOME desktop.

Click on the Sharing category.

Settings

Enable Screen Sharing (and Allow connections to control screen, when prompted). You can also select between two access options: one that prompts the computer's primary user to accept or deny the connection request, and another that allows connection authentication with a password. At the bottom of the window, select the network interface where connections are allowed, then close the window.

Next, open Firewall Settings from Applications Menu → Sundry → Firewall.

Next, head to Remmina on your remote computer, enter the IP address of the Linux desktop you want to connect with, select VNC as the protocol, and hit the Enter key.

Logging into Linux remote desktop with Remmina

If you previously chose the authentication option New connections must ask for access, the RHEL system's user will see a prompt like this:

Granting permission to view or control Linux desktop

Select Accept for the remote connection to succeed.

If you chose the option to authenticate the connection with a password, Remmina will prompt you for the password.

Entering password to access Linux desktop

Enter the password and hit OK, and you should be connected to the remote computer.

Viewing Linux desktop with Remmina

Using Remmina

Remmina offers a tabbed UI, as shown in above picture, much like a web browser. In the top-left corner, as shown in the screenshot above, you can see two tabs: one for the previously established Windows 10 connection and a new one for the RHEL connection.

On the left-hand side of the window, there is a toolbar with options such as Resize Window, Full-Screen Mode, Preferences, Screenshot, Disconnect, and more. Explore them and see which ones work best for you.

You can also create saved connections in Remmina by clicking on the + (plus) sign in the top-left corner. Fill in the form with details specific to your connection and click Save. Here is an example Windows 10 RDP connection:

Creating a saved remote desktop connection

The next time you open Remmina, the connection will be available.

Viewing saved connection

Just click on it, and your connection will be established without re-entering the details.

Additional info

When you use remote desktop software, all the operations you perform take place on the remote desktop and use its resources—Remmina (or similar software) is just a way to interact with that desktop. You can also access a computer remotely through SSH, but it usually limits you to a text-only terminal to that computer.

You should also note that enabling remote connections with your computer could cause serious damage if an attacker uses this method to gain access to your computer. Therefore, it is wise to disallow remote desktop connections and block related services in your firewall when you are not actively using Remote Desktop.


This article originally published in June 2018 and has been updated by the editor.

Tags
Kedar is a Software Quality Engineer at Red Hat working with CloudForms(upstream ManageIQ) project and primarily looking at deployment/management of our internal infrastructure. Interested in Jenkins Pipeline and Ansible for automating deployments. Also writing Shinken modules for Monitoring and Alerting.

4 Comments

Great article Kedar. The only thing that might have made it better is if you had included information on tunneling the VNC connection over SSH for greater security. Thank You!

Thanks a lot Kedar! We do our best to maintain and improve Remmina. Sometimes is a tough mission but thanks to testimonials like your, makes the job easier.

In IBM we use RHEL7 as our workstation Operating system. and use remmina as the RDP client. However we are forced to use Windows KVM machines since Remmina does not support NLA authentication on windows servers . Project security policies are not allowing to disable NLA on the target server. Is there a workaround or a fix available to overcome this challenge and use remmina for accessing windows server s as well ?

I use Remmina for SSH so far and never got RDP working. Now I see that it was an issue of what I was connecting to more than it was me with Remmina.

At work, however, if I am somehow using a Linux desktop then this information will be really helpful for me to get into my development (Windows) servers.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.