How To Configure Remote Access To Your Ubuntu Desktop

This guide explains how you can enable a remote desktop on an Ubuntu desktop so that you can access and control it remotely. This makes sense for example if you have customers that are not very tech-savvy. If they have a problem, you can log in to their desktops without the need to drive to their location. I will also show how to access the remote Ubuntu desktop from a Windows client and an Ubuntu client.

1 Preliminary Note

I have updated and tested this guide on an Ubuntu 17.04 (Zesty Zapus) desktop and Ubuntu 16.04 LTS.

2 Enabling The Remote Desktop

We don't have to install anything to enable the remote desktop on Ubuntu. All we have to do is go to Search your computer, enter the word "desk" and click on Desktop Sharing:

Ubuntu Desktop Sharing - Remote Access

In the Desktop Sharing window, you can configure the remote desktop connection. If you want others to just see your desktop, but not be able to make changes, enable Allow other users to view your desktop only. If they should be able to change settings (e.g. repair your system if there are problems), enable Allow other users to control your desktop as well.

There are various VNC clients available. The command that I use on other Linux clients to connect to your desktop is 'remmina'.

remmina

Then there are the security settings. If someone connects to your desktop and you want to be able to block or allow that connection, enable Ask you for confirmation. This makes sense only if someone is actually sitting in front of the system. If you want to connect to your office desktop or any other sysem that only you have access to, then don't enable this option.

But what you should do is set a password for your remote desktop (without a password anyone who happens to find out your system's address - e.g. by scanning the network - can access your desktop):

Set a Password for the Remote Desktop

That's it - the remote desktop can now be used!

You can use the hostname of your computer (in my case 'falko-desktop') for the connection or the IP address. To avoid problems when the computer name (falko-desktop) cannot be resolved in the network, it's a good idea to find out the system's IP address and use that one instead in the remmina command. Right-click on the network icon (the two monitors) in the upper right corner and select Connection Information:

Connection Details

A window with details about your current network configuration opens. In it you can find your IP address (192.168.0.187 in my case) - write it down somewhere:

Active Network Connection

If you want to connect to your desktop from outside your network, you must use your router's public IP address (or get yourself a free hostname from dyndns.org pointing to your router's public IP address). Port 5900 (which is used by the remote desktop) must be open in the firewall, and your router must forward port 5900 to the Ubuntu desktop.

If you plan to connect to the Ubuntu Desktop from Windows systems on your local network with RealVNC, then you might have to disable encryption for the connection with the following command:

gsettings set org.gnome.Vino require-encryption false

Otherwise, you will get an error in RealVNC client about an incompatible encryption Mechanism. Then reboot the desktop PC to apply the changes.

Share this page:

24 Comment(s)

Add comment

Please register in our forum first to comment.

Comments

By: Anonymous

Thanks for the article! I found this works and on Kubuntu too! However, for those that don't want to set all these steps up, there are programs that let you do this without much tinkering. Among these remote control software bundles some are free (like CrossLoop) and others cost money but are typically more robus and more secure.

By: Anonymous

Hi,

I have already activated the remote desktop on PC - A, now i want to access the PC-A from PC-B, how do i do that.

All the PCs here have Ubuntu installed on them.

Kindly advise

By:

This simple HowTo is great. It is pretty straight forward and works super fast, the built in tools with (LinuxMint)Ubuntu are excellent. I check out your new post daily, HowtoForge is part of my iGoogle home page, so I see the headlines every day. Keep up the good work Falko!

Based on your solid detailed tutorials I have set up an Apache LAMP server, where I test web pages, JavaScript, Ajax, PHP stuff and now I have remote desktop that I can access from a Windows client. I am all set, but keep the tips coming....

Thanks,

Sam

www.magnet2wealth.com 

By:

If you are looking for something that responds as fast as RDP for Windows does you may want to look into Nomachines NX product.  Very responsive.  However if you want to attach to the console it is only marginally faster than VNC.

Download the Client, Node and Server packages from http://www.nomachine.com/select-package.php?os=linux&id=1

Then simply run:

sudo dpkg -i nxclient.<version>

sudo dpkg -i nxnode.<version>

sudo dpkg -i nxserver.<version>

You will also need to make sure that SSH is installed and running on the machine:

sudo apt-get install ssh

Then download and install the client on a remote machine (windows, linux whatever) and point the client to your server's IP on port 22.  It should connect and startup a new X desktop for you.  Keep in mind this is a NEW desktop.  If you want to see the existing (console) desktop then you will need to change the  "Desktop" config to "Shadow" however as I mention this is only marginally faster than VNC.  Nomachine has been working on that feature to improve it.

Any questions please ask in the forum. 

By: Dan

Thanks for this post.  It was very easy to walk another person through the process over the phone using the guide and it I was able to get access within just a few minutes.

By: Anonymous

Does not work ... after following these instructions, have not found any that work, including no machine's.  Wasted hours typing in command lines and looking for solutions on the internet.  Windows remote desktop is great ... the more I use linux the more I like windows ... well not vista.

By: Splitice

Thanks for this guide, really helped me.

Splitice

By: Adriano1

Very nice  Site Number One Topic. Based on your solid detailed tutorials I have set up an Apache LAMP server, where I test web pages, JavaScript, Ajax, PHP stuff and now I have remote desktop that I can access from a Windows client. I am all set, but keep the tips coming.... Thanks,Regards

By: Vaibhav Puranik

NX is a much better way to do remote desktop. Here are some simple steps to enable remote desktop via NX server - http://aws-musings.com/4-easy-steps-to-enable-remote-desktop-on-your-ubuntu-ec2-instance/

By: David

Im not a linux pro, so I use erd which is a JavaFX and browser based solution for this. It runs on Win and Linux (and maybee on OS-X too).

You can find it on:  http://erd.riapp.eu

By: Koowie

Thanks for the info.

By: Matt

Excellent...

Just got this to work with Windows 7 64-bit viewing an Ubuntu 12.04 LTS 64-bit box.

Thanks for the solution! :)

By: Bren

After using the extra commands given this worked nicely. Thanks for your help!

By: Goran

Hi,

I can't find remote desktop preferences. Using Ubuntu MATE 15.10.

 

Help..

By: anubhav

Thanku so much very nice post.............

By: Manny

Aggreed. 

Nice article. Thanks for sharing. I'm gonna give it a try.

By: anonmous

Oh no something gone wrong

By: Prasanta Shee

Above mentioned steps seems to be complicated. Instead, you can use tools like logmein, R-HUB remote support servers etc. for remotely accessing computers from anywhere anytime. They work well. 

By: kraus

Thanks for this post. it works fine

By: Arek

Useless. You installed server and clients, but forgot about installation of protocols e.g. RDP, VNC.

By: Grzegorz

Its not remote access TO your ubuntu, its remote access FROM your ubuntu. Its simple tutorial how to use remmina as your remote desktop client.

By: till

It is remote access to your Ubuntu client. The tutorial describes how to access an Ubuntu desktop from Windows and from other Ubuntu desktops. Guess you did not read all 3 pages?

By: Andy

Thank you, thank you, thank you for that tip about disabling encryption. I've spent the whole day trying to fix the bloody error messages and you're the first person to mention it.

By: mohamed.abaza

Thanks for your post. I can remote logging using the internal network. However, when using the public ip address followed by 5900, I was not able to log in. I enabled port forwarding on my router from port 5900 to my internal ip address and port # 5900. What should I do?