Linux Productivity Windows

How to Establish Remote Desktop Access to Ubuntu From Windows

Christian Cawley Updated 27-03-2020

You’re in one room, sitting at a PC; the data you want is in another, on a computer running Ubuntu. If both computers are in the same house, no problem; but what if they’re in different offices? It might be a bit of a walk!

Advertisement

The answer, therefore, is setting up a remote desktop connection. Learn how to set up a remote desktop from Windows to Ubuntu.

Why Remote Connect to Ubuntu From Windows?

There are several reasons why you might want to remote connect to your Ubuntu computer. Perhaps you’re at work and need to log into your home computer. Alternatively, you might have an Ubuntu PC in one room, your Windows PC in another. Maybe you want to run updates on Ubuntu, or access files.

Remote control Ubuntu using RDP

Alternatively, you might be running an Ubuntu server, for data, a website, even a game. Either way, a method of setting up a remote connection will save a lot of time and effort.

You have three key options for establishing a remote connection with an Ubuntu machine running the default desktop environment:

  1. Remote Desktop (RDP)
  2. Virtual Network Computing (VNC)
  3. Third party remote desktop software

First, however, you need to make some preparations:

  1. Enable port forwarding on the remote device’s router
  2. Find the IP address
  3. Install SSH

Let’s look at these in turn.

Prepare Windows RDP to Ubuntu Connections

Remote access solutions are simple to set up and manage across the same network. However, if you’re working from home, this instantly complicates things.

To use VNC and RDP with a PC on a different network, you’ll need to enable access to the remote computer via its router. This is done using “port forwarding.” Before you set this up, however, you’ll need the IP address.

Find Your Ubuntu PC’s IP Address

Before you can establish a connection to your Ubuntu device over RDP or VNC, you’ll need the IP address.

The first way is the easiest. Physically go to the Ubuntu machine, press Ctrl + Alt + T to open the Terminal, and input the command:

ifconfig

Look for the “inet addr” against the connection you’re currently using. For instance, if you’re on Wi-Fi, look for wlan0. If the computer is connected to the network for Ethernet, look for eth0.

Another way to find the IP address is to find the connection icon in the panel, right-click, and select Connection Information. You’ll find the IP address listed here.

Neither of these options open? You can also connect to your router directly, via your computer’s browser.

Once signed into the router’s admin console, you’ll be able to see which devices are connected. Just look for your Ubuntu device name, find the IP address, and make a note of it for later.

Enable Port Forwarding

To access a computer on another network (e.g. your work network) you need to enable port forwarding on the router where your Ubuntu PC is located.

Start by establishing the IP address of the router. You can use the ip r command for this, with grep to specify the default:

ip r | grep default

Make a note of the IP address, then open it in your browser to display the router’s admin console. Enabling port forwarding is simple:

  • Look for the Port Forwarding settings
  • Create a New Rule labeled Remote Desktop
  • Set the Internal Port number to 3389
  • Set the External Port number to 3389
  • Input the IP address of the Ubuntu PC
  • Click Save

Note that these steps are generic and will differ depending on your router. For detailed steps, check your router documentation.

Once saved, you should be able to RDP into the Ubuntu PC remotely via your organization’s static IP address. If your employer does not use a static IP (unlikely, but it happens) then use a dynamic DNS provider The 5 Best Free Dynamic DNS Providers A DDNS service can help you connect to your home PC while on the move. Here are the best free dynamic DNS providers to consider. Read More instead.

Note: your organization’s system admin can set up port forwarding if you’re not using commercial remote desktop tools.

Set Up Access Using SSH

To save time you might want to install PuTTY on your PC (or just try the built-in Windows SSH function Windows 10 SSH vs. PuTTY: Time to Switch Your Remote Access Client? Let's take a look at how to set up SSH access in Windows 10, and whether the new tools can supplant PuTTY. Read More ). This enables you to set up an SSH connection, which gives remote access to the Ubuntu command line.

To be clear: this isn’t a remote desktop option; there is no mouse control. But it is useful to have to remotely install the tools you’ll be using. SSH is often disabled by default, however, so if it is not installed, you’ll need to fix this.

In short, it depends on which Ubuntu version you’re using, and whether you’ve used SSH previously.

Once installed via the terminal (sudo apt install openssh-server) you’ll be able to make a remote connection. Simply enter the IP address and the Ubuntu username and password. You can then use the terminal to install the tools you need for RDP and for VNC.

1. Remote Access Using Remote Desktop Protocol

The easiest option is to use Remote Desktop Protocol or RDP. Built into Windows, this tool can establish a remote desktop connection across your home network. All you need is the IP address of the Ubuntu device.

While the necessary software is pre-installed on Windows, you’ll need to install the xrdp tool on Ubuntu. To do this, open a Terminal window (Ctrl + Alt + T) and enter:

sudo apt install xrdp

Follow this with

sudo systemctl enable xrdp

Wait for this to install, then run the Remote Desktop application in Windows using the Start Menu or Search. Type rdp then click on Remote Desktop Connection. With the app open, input the IP address in the Computer field.

Remote connect to Linux with RDP

Next, click Show Options and add the Username for the Ubuntu PC. You can click Save to keep these settings for reuse on another occasion.

Click Connect to start the connection and input the Ubuntu account password when prompted. The connection will then be established, giving you full mouse and keyboard access to your remote Ubuntu computer. If you plan to use this connection often, you can create a configuration file 8 Windows Remote Desktop Connection Custom Configurations to Save You Time Using Windows Remote Desktop Connection? Create custom remote desktop connection configurations to save a lot of time. Read More for it to save time.

Troubleshooting RDP to Ubuntu

While RDP is a great option for remote connecting to your Ubuntu PC, it’s unreliable on Ubuntu 18.04 LTS. There appears to be an issue establishing a remote connection while already logged into the same account on Ubuntu.

As such, the simple way around this is to simply log out of the Ubuntu computer.

If this isn’t possible, try switching the RDP connection from using the Xorg server to using X11rdp. Wait for that to fail then try Xorg again.

You might also attempt connection after restarting the Linux machine.

Ubuntu 20.04 LTS should include a fix for this problem.

2. Connect to Ubuntu from Windows With VNC

Another option with full remote desktop functionality is VNC (Virtual Network Computing). This requires a client application on the Windows PC and a server on Ubuntu.

On the remote PC, install the TightVNC Server component after checking for updates:

sudo apt update

Then install the server utility:

sudo apt install tightvncserver

You’ll then need to run it:

sudo tightvncserver

At this point you’ll be prompted to set a password for the connection. Make a note of the desktop number, usually :1.

Now that TightVNC Server is set up on Ubuntu, you’ll need to install the client on Windows. This can be downloaded from www.tightvnc.com/download.php—make sure you choose the right version, as it is available in 32-bit and 64-bit flavors.

TightVNC tools are only available as a bundle, so once installed, look for TightVNC Viewer in Windows search.

Once you’ve launched the viewer, input the IP address of the Ubuntu box in Remote Host, followed by the desktop number. So, it might look like this:

192.168.0.99:1

Remote desktop from Windows to Linux with VNC

Input the password when prompted and commence your remote desktop activity!

Making TightVNC More Secure

By default, TightVNC will encrypt your password, but nothing else. This makes it insecure for connections over the internet. Fortunately, security can be enhanced, thanks to SSH and Xming.

To use this, download and install the Xming tool for Windows from Sourceforge. Once this is done, look for the desktop shortcut, right-click, and choose Properties.

Look for the Shortcut tab, and in the Target field, enter the following:

"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

Click Apply to save the change, then OK. Double-click the icon to run Xming, then open PuTTY. Here, expand the menu on the left to Connection > SSH > X11.

Check Enable X11 Forwarding, then return to Session at the top of the menu.

Enable X11 forwarding to use remote desktop with SSH

Enter the IP address for the remote device and click Open. Moments later, a secure connection to the remote Ubuntu desktop will be available.

3. Remote Desktop to Ubuntu With Commercial Tools

Everything you’ve learned so far is standard if you need to remotely access a Linux PC on your local network. If you need to go beyond that, then the steps to enable port forwarding will help.

But what if you have no intention of accessing your router? If this seems too complicated, then third-party commercial software designed to facilitate remote desktop, is required. Several are available, but not all support Linux.

We suggest you try out:

  • NoMachine: initially released as a Linux remote desktop tool, this is now available across all major platforms. Install on the target computer, then on your local machine, and set up a remote connection.
  • Chrome Remote Desktop: uses your Google account to manage remote access via the Chrome browser.
  • TeamViewer: a well-known commercial remote desktop solution, this offers Linux software. Simply install client and host software beforehand. Also offers a host app for remotely accessing Raspberry Pi devices.

Note that these tools require setting up before use. If you have a colleague near the remote PC, they might be able to help. See our list of remote access tools The 7 Best Screen Sharing and Remote Access Software Sharing your Windows screen has many benefits. Use these free tools to share screens or gain remote access to another computer. Read More for more suggestions.

Choosing the Right Ubuntu Remote Desktop Solution

Which remote desktop tool for connections between Ubuntu and Windows should you use?

Three main options are available:

  • RDP: this uses the Windows Remote Desktop Protocol, via the open source xrdp implementation.
  • VNC: Virtual Network Computing is an alternative to RDP, but less secure.
  • Commercial remote software: most of these require minimal set up and support Linux.

You can also use SSH to issue some remote instructions to your Ubuntu PC.

We’ve shown you three ways to establish a remote connection to your Ubuntu computer or server from Windows. Each has its advantages and disadvantages. But if you just want to dip into Ubuntu, try the Windows Subsystem for Linux A Quick Guide to Linux Bash Shell in Windows 10 You can now run Linux on Windows. Learn more about Bash on Windows, from how and why you should install it, to hidden features you probably didn't know about. Read More on Windows 10?

Explore more about: Home Office, Linux Tips, Remote Access, Remote Desktop, Remote Work, Ubuntu, VNC, Windows Tips.

Whatsapp Pinterest

Enjoyed this article? Stay informed by joining our newsletter!

Enter your Email

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Bill Pennock
    August 8, 2019 at 7:06 pm

    Need to also allow the port before this will work
    sudo nfw allow 3389/tcp

  2. Palash Aggrawal
    November 11, 2018 at 7:46 pm

    Doesn't ssh work only when the two systems are in the same network? I read that the reason is NAT. I even tried to ssh into my ubuntu machine from outside my home network, but couldn't. What is the way out?

  3. Wellington Torrejais da Silva
    June 29, 2018 at 12:46 pm

    Nice tutorial. Thanks!

  4. Prasanta Shee
    May 16, 2018 at 7:06 am

    You can use tools like logmein, Teamviewer, R-HUB remote support servers etc. for remotely establishing remote desktop access from Windows to Ubuntu.

  5. Tim ODell
    December 12, 2016 at 1:31 am

    This article assumes there is some sort of Windows-like interface installed. It would be helpful to start at the beginning and list prerequisites (a GUI? Which one? or this addreses "X" install of Ubuntu) -- the selection string "System > Preferences > Remote Desktop " doesn't work from the CLI. I'm using from a server installation (because it uses less resources), so maybe a redirect to the "Linux connect" section at the beginning would be helpful for a remote console connection.

  6. Nogero
    December 23, 2009 at 6:50 pm

    NX, which I think is the same as freenx can't be beat for speed and all around use. It is quite easy to install. Download the client, click, click, click. Download the three packages for the server, then do:
    sudo dpkg -i nx*
    Use the wizard to connect first time, thereafter it is one easy click. I used to be a loyal tightvnc user until I discovered NX. Official site and d/l: nomachine.com
    Available for all platforms. It runs over SSH port 22. So fast you will forget you are not on the console.

  7. the_guv
    December 8, 2009 at 4:34 am
  8. the_guv
    December 8, 2009 at 4:26 am

    Varun's solution is ideal for Linux initiates, sure, but FreeNX beats it for speed ...

    https://help.ubuntu.com/community/FreeNX

    For the more adventurous, maybe the best remote access is with ...

    http://www.openvpn.net/

    ... but their docs are appalling .. so Google, say, ubuntu openvpn.

    @Mike .. I *think* the above is as close as it gets, but I dunno much on these web apps.

  9. Mike Wilson
    November 30, 2009 at 12:31 pm

    How about a solution like Logmein or Teamviewer that would allow me to connect to my work machine while at home over the internet? I used to use Hamachi and a vnc but was wondering if you knew of a single dedicated client like Logmein for Ubuntu.

    Thanks