You are sitting in a room at a PC. The data you want is in another computer on a computer that is running Ubuntu. If both computers are in the same house, this is not a problem. but what if they are in different offices? It could be a bit of a walk!
So the answer is to set up a remote desktop connection. Learn how to set up a remote desktop from Windows on Ubuntu.
Why Connect to Ubuntu Remotely from Windows?
There are several reasons you might want to remotely 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 and your Windows PC in another. You might want to update or access files on Ubuntu.
Alternatively, you can run an Ubuntu server for data, a website, or even a game. Either way, having a method of setting up a remote connection saves a lot of time and effort.
You have three key options for remotely connecting to an Ubuntu computer that is running the standard desktop environment:
Remote Desktop (RDP)
Virtual Network Computing (VNC)
Third-party remote desktop software
But first you need to make some preparations:
Enable port forwarding on the remote device's router
Find the IP address
Let's look at these one by one.
Prepare Windows RDP for Ubuntu connections
RAS solutions are easy to set up and manage in the same network. However, if you work from home it makes things difficult immediately.
To use VNC and RDP with a PC on a different network, you must enable access to the remote computer through its router. This is done via "port forwarding". Before you set this up, however, you will need the IP address.
Find the IP address of your Ubuntu PC
Before you can connect to your Ubuntu device via RDP or VNC, you need the IP address.
The first way is the easiest. Physically go to the Ubuntu machine and press Ctrl + Alt + T. So, open the Terminal and enter the following command:
Look for the "inet addr" for the connection you are currently using. For example, if you have WiFi, look for wlan0. If the computer is connected to the network via ethernet, look for eth0.
Another way to find out the IP address is to find the connection icon in the control panel, right-click and select Connection information. You can find the IP address here.
None of these options are open? You can also connect to your router directly through your computer's browser.
Once you're logged into the router's admin console, you'll be able to see which devices are connected. Just find your Ubuntu device name, find the IP address, and write it down for later.
Enable port forwarding
To access a computer on a different network (e.g. your work network), you need to enable port forwarding on the router where your Ubuntu PC is located.
First, find out the router's IP address. You can use the ip r command to do this, where grep is the default:
ip r | grep default
Make a note of the IP address and open it in your browser to display the router's administrative console. Enabling port forwarding is easy:
search for Port forwarding the settings
A … create New rule labeled Remote desktop
Set the Internal port Number up 3389
Set the External port Number up 3389
Enter the IP address of the Ubuntu PC
click save up
Note that these steps are general and differ depending on the router. Refer to your router's documentation for details.
Once saved, you should be able to remotely broadcast RDP to the Ubuntu PC using your company's static IP address. If your employer doesn't use a static IP address (unlikely, but it happens), use a dynamic DNS provider instead.
Note: Your company's system administrator can set up port forwarding if you are not using commercial remote desktop tools.
Set up access with SSH
To save time, you may want to install PuTTY on your PC (or just try the built-in Windows SSH feature). This is a great way to set up an SSH connection that will allow you to access the Ubuntu command line remotely.
To be clear, this is not a remote desktop option;; There is no mouse control. However, it helps to have to remotely install the tools you are using. However, SSH is often disabled by default. If it is not installed then this is what you need to fix.
In a nutshell, it depends on what version of Ubuntu you're using and whether you've used SSH before.
After installing via the terminal (sudo apt install openssh-server) you can establish a remote connection. Just enter the IP address as well as the Ubuntu username and password. You can then use the terminal to install the tools you need for RDP and VNC.
1. Remote access with the remote desktop protocol
The easiest way is to use Remote Desktop Protocol or RDP. This tool built into Windows can establish a remote desktop connection over your home network. All you need is the IP address of the Ubuntu device.
While the required 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 xrdp install
Follow this with
sudo systemctl enable xrdp
Wait for this to be installed, then run the remote desktop application in Windows from the start menu or search. Art rdp then click on Remote desktop connection. With the app open, enter the IP address in the field computer Field.
Then click on Show options and add the Username for the Ubuntu PC. You can click save up to keep these settings for reuse on another occasion.
click Connect to connect and enter the password for the Ubuntu account when prompted. The connection will then be established so that you have full mouse and keyboard access to your remote Ubuntu computer. If you plan to use this connection frequently, you can create a configuration file to save time.
Troubleshooting RDP on Ubuntu
While RDP is a great option for connecting remotely to your Ubuntu PC, it is unreliable on Ubuntu 18.04 LTS. There seems to be a problem connecting remotely if you're already signed into the same account on Ubuntu.
The easy way to work around this is to simply log out of the Ubuntu computer.
If this is not possible, try changing the RDP connection from using the Xorg server to using X11rdp. Wait until that fails, then try again with Xorg.
You can also try to connect after restarting the Linux computer.
Ubuntu 20.04 LTS should have a solution to this problem.
2. Connect to Ubuntu using VNC from Windows
Another option with full remote desktop functionality is VNC (Virtual Network Computing). This requires a client application on the Windows PC and a server under 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 then need to run it:
At this point, you will be asked to set a password for the connection. Make a note of the desktop number, usually: 1.
After the TightVNC Server has been set up on Ubuntu, you need to install the client on Windows. This can be downloaded from www.tightvnc.com/download.php–. Make sure you choose the correct version as it comes in 32-bit and 64-bit variants.
TightVNC tools are only available as a bundle. After the installation, look for TightVNC Viewer in Windows search.
After starting the viewer, enter the IP address of the Ubuntu box in Remote Host, followed by the desktop number. It could look like this:
Enter the password when prompted and start your remote desktop activity!
Make TightVNC more secure
By default, TightVNC encrypts your password, but nothing else. This makes it unsafe for connections over the internet. Fortunately, security can be improved thanks to SSH and Xming.
To do this, download the Xming tool for Windows from Sourceforge and install it. Next, find the desktop shortcut, right click and select characteristics.
search for abbreviation Tab and in the target Enter the following in the field:
"C: Program Files (x86) Xming Xming.exe" : 0 -clipboard -multiwindow
click Apply to then save the change OK. Double click the icon to run Xming and open PuTTY. Here, expand the menu on the left Connection> SSH> X11.
Check Activate X11 forwarding, then back to session at the top of the menu.
Enter the IP address for the remote device and click to open. Moments later, a secure connection to the remote Ubuntu desktop will be available.
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, the steps to enable port forwarding will help.
But what if you don't intend to access your router? If this seems too complicated, commercial third-party software is needed to make remote desktop easier. Some are available, but not all support Linux.
We recommend you try the following:
NoMachine: Originally released as a Linux remote desktop tool, it is now available on all major platforms. Install on the target computer and then on your local computer and set up a remote connection.
Chrome Remote Desktop: Uses your Google Account to manage remote access from the Chrome browser.
TeamViewer: A well-known commercial remote desktop solution that offers Linux software. Simply install the client and host software beforehand. Also offers a host app for remote access to Raspberry Pi devices.
Note that these tools must be set up before they can be used. If you have a colleague near the remote PC, they may be able to help. See our list of remote access tools for more suggestions.
Choosing the Right Ubuntu Remote Desktop Solution
Which Remote Desktop Tool Should You Use to Connect Ubuntu to Windows?
Three main options are available:
- RDP: This uses the Windows Remote Desktop Protocol via the open source implementation xrdp.
- VNC: Virtual Network Computing is an alternative to RDP, but less secure.
- Commercial remote software: Most of these require minimal Linux setup and support.
You can also use SSH to send some remote instructions to your Ubuntu PC.
We showed you three ways to remotely connect to your Ubuntu computer or server on Windows. Everyone has their advantages and disadvantages. But if you just want to immerse yourself in Ubuntu, try the Windows Subsystem for Linux on Windows 10?
Minecraft Fleeceware is scamming millions of Google Play users
About the author
(1413 articles published)
Deputy Editor for Security, Linux, DIY, Programming and Technology explains. He also produces The Really Useful Podcast and has extensive desktop and software support experience.
Christian is an employee of Linux Format Magazine and a Raspberry Pi hobbyist, Lego lover and retro gaming fan.
More from Christian Cawley
Subscribe to our newsletter
Subscribe to our newsletter for tech tips, reviews, free e-books, and exclusive deals!
One more step …!
Please confirm your email address in the email we just sent you.