I am seeking suggestions and recommendations for an Open Source remote desktop server and client that will enable me to provide tech support to my friend who uses ubuntu for basic email and web browsing. While I am somewhat technically capable but my friend is not.

I would prefer some software supported by a community of developers rather than a company or single person.

I need to share the desktop as if I was sitting at my friend's computer and also to issue terminal commands.

I'd like something fairly simple. It doesn't need to have a lot of very complicated options.


Reduce the amount of support that you are expected to provide

If your friend merely uses a web browser and e-mail, then why bother with screen-sharing and remote desktops at all?

  1. Use LTS. Current is 20.04 LTS. Mark your calendar for early 2025; that's when your friend will want your "support" to migrate to 24.04 LTS...if they are still using the same hardware in four years.

  2. Use a browser that's in the Ubuntu repositories (like Firefox). Have your friend use webmail from the browser. Now you're down to a single application. Clean the unused applications out of the launcher bar.

  3. Make sure Unattended Upgrades is turned on for automated security updates (including the web browser). It's already turned on in every stock install of Ubuntu Desktop, so that's easy.

That's it; you are done. No further support needed until 2025 unless your friend strays from the web browser and decides to experiment (most folks don't).

Testimonial: I went through all the trouble of setting up Remote Access for several relatives. None of them needed my help to use a web browser. Not once. In ten years. All of them asked for help with dying hardware a few years later (Remote Access won't help with that), but none ever asked for help with Ubuntu.

  • 2
    This is good advice, but it doesn't answer the question. I'm surprised it's gotten so many upvotes. – wjandrea Feb 27 at 2:20

I looked for the same thing, and found no suitable open-source solutions.

Ended up using Anydesk, which is closed-source but free for non-commercial use.

It's easy to set up. You just download the package, install it, and write down the machine ID that it reports. Then you can configure it to either require an interactive confirmation when connecting (not reliable, e.g. if something happens with the video drivers), or a password authentification.

To connect to Anydesk, you'll have to install Anydesk to your machine as well. (Or even to your smartphone!)

The alternatives I considered were:

  • Chrome Remote Desktop — doesn't work well under Linux:

    • It always creates a new graphical session, instead of showing the existing one. In other words, you'll see a desktop, but not the same one that your friend sees on the phyiscal screen.
      I heard you can manually patch it to do the right thing, but I'd rather use software that works out of the box.
    • Last time I installed it (Xubuntu 20.04.1), it prevented me from being able to read USB sticks, even when no connection was active.
  • A VNC server — works well, but under certain conditions:

    • The ISP your friend uses didn't put him behind a NAT
    • Your friend is not behind a router, OR you can configure the router to forward ports automatically.
    • Your friend has a static IP address, otherwise you'll need to set up dynamic DNS.

    If all of the above is true, it works nicely.

    There are several different VNC servers/clients, I recommend TigerVNC over SSH tunnel.

    # Set up dynamic DNS on their computer if necessary (see link above).
    # Configure their router to forward port 22 (SSH).
    # Connect over SSH.
    # Add `-L localhost:5900:localhost:5900` to SSH flags to have a tunnel for the VNC.
    # Install TigerVNC server.
    sudo apt install tigervnc-scraping-server
    # Set password. Can be weak, because the command below only allows local/tunneled connections.
    # IF your SSH user is different from the user your friend is using:
    #   export XAUTHORITY=/home/<friend's user>/.Xauthority
    # Start the server.
    x0tigervncserver -PasswordFile=/home/$USER/.vnc/passwd -localhost=yes -display=:0

    TigerVNC also provides a VNC client. Install it on your side with sudo apt install tigervnc-viewer, then connect to the SSH tunnel by using localhost as the IP.


I suggest using Remmina. It already comes installed with Ubuntu.

If you need to install it, you can do so from the Software Center, or using the command line:

sudo apt install remmina

For reference, see the the Remmina website and the Remmina wiki.

  • ominous name... – pplat Feb 25 at 14:51
  • Remmina is nice and easy to as a client (I'm using it right now to control a Windows machine from my Ubuntu PC), but configuring the server doesn't seem to be (obviously) addressed at either of your links – Chris H Feb 25 at 15:43
  • I recommend TurboVNC as the server - solves issues some earlier VNC incarations had. – MikeH London Feb 25 at 16:45

This answer focuses on the remote desktop server choices

The client will depend of the server of choice

The Default

Ubuntu installations come with a desktop sharing solution, Vino. It is easy to setup. It uses VNC protocol and can be accessed with any VNC client, including Remmina.

Here is a tutorial for setting it up.

Some recommendations on setup

I would not bother with the VNC password in your case, as you want to set it up for tech support. Use the option New connection must ask for access. Your friend will have to give you access.

The second reason not to bother with the VNC password is it is not very secure. The tutorial asks you to set it up to send the password unencrypted. Some VNC servers only used the first 9 characters of the password. So, setting a long password did nothing. I don't know if this bug has been fixed.

I recommend you use ssh tunnel to access the VNC server. This is a safer alternative. I will give you a link on setting up the ssh tunnel in a minute. But before that I do not recommend enabling uPnP in the router in your friend's house as stated in the tutorial. You may have to setup your friend's router to forward the ssh port to the computer.

Read the VNC over SSH section and When traveling section of this answer:


The When traveling section in the above answer is important for you, as you will always be accessing the friend's computer from outside your friend's home.

Problems with router and DDNS

By now you have read the links I put above and know that most desktop remote access must deal with to things:

  • Port forwarding in the router
  • Dynamic Domain Name Systems

If you can't set these up for your friend for whatever reasons, you will have to look beyond open source solutions.

Closed source, but free to use

All these solutions does not require fiddling with the router settings. You don't have to bother with DDNS either.

When your friend calls for help, you ask them to open the app, and you open the same app on your computer. Ask your friend to read you the code the app shows on their computer. You enter that code in the app in your computer. Your friend will see a popup that someone is trying to connect, and they must agree. And you can see their desktop.

I have used three and I will list them below from the best to worst in my view.


It is easy to setup. Basically it does the same thing as Teamviewer, but has a smaller footprint. A single app works as the client and the server. Both computers must have this app installed.


This is probably better known in the Windows world. It is free to use at home. It has lots of features I don't need and is much bigger than Anydesk. A single app works as the client and the server. Both computers must have this app installed.

Chrome Remote Desktop

I have not used it in the last few years. It needs the Chrome browser in both ends to work. Once setup it may be less intimidating as everyone is familiar with the browser. It needs an helper app to be installed. Once that is done, the Chrome browser acts as both the client and the server.

However, as others have pointed out, it can be finicky to setup, particularly if you try to adjust too many settings from their default values.

Hope this helps


I know that you are looking for open-source applications, but maybe you may want to take a look at Chrome Remote Desktop. You can use it using your browser, Firefox, Opera, Chrome etc., also you can use it in both Windows and Ubuntu, and it is very easy to use.


Yes - agree others' recommendations for LTS version, I'd recommend use either Lubuntu (the lightweight LXDE version of Ubuntu - my own daily workhorse), or else Linux Mint, which some seem to prefer the look & feel of.

I also echo P J Singhs' recommendation for Remmina as an excellent remote client.

BUT - important - install TurboVNC - NOT TightVNC or its predecessors - as the VNC screenserver at your friend's machine(s).

TurboVNC solves some headaches you can get with other older VNCs to do with Font rendering, and is opensource (unlike RealVNC).

Note that you also want a way to secure the connection: a secure SSH tunnel works well with VNC, you can organise pre-shared keys on SSH at the far end, so it connects instantly on an encrypted / password-less basis: you then access the VNC tunnelled through SSH. Remmina works fine with TurboVNC.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.