0

I've set up my completely computer-illiterate dad up with Elementary OS after his win7 support expired recently. Weirdest thing: he's suddenly super interested in the OS, and actually feels safe enough to try things out for himself. Whereas before he would just get annoyed/intimidated/confused by the mess of icons in front of him. Awesome stuff.

I was planning on setting up a remote desktop for him so I could do tech support from my home. Now due to corona I'll have to do that remotely and talk my parents through it on the phone. Chrome Remote Desktop seems to be the most obvious candidate because it saves having to talk him through forwarding ports by phone. So that's the route I'll be taking for now.

Once I'm in though, I wonder if there's a better Remote desktop host I can set up. I understand VNC doesn't play nice with pantheon. Is there a remote desktop host or server for Elementary that you can recommend?

UPDATE: I just successfully managed to remote in using chrome remote desktop. The connection was there, although laggy and crappy. My parent's wifi being less than great wasn't helping much. Still very much open to hearing about a better way.

I will probably be using remmina on the client end, but I'm flexible.

thanks in advance.

3 Answers 3

0

I'm a bit of a newb in this regard, but NoMachine works very well on my internal network. I just don't know anything about accessing a machine on another network.

2
  • thanks, i'll look into it.
    – Willem -nl
    Mar 24, 2020 at 15:24
  • turns out chrome will suit me for now. Thanks for taking the time to answer.
    – Willem -nl
    Jun 15, 2020 at 14:53
1

Have you looked at (TeamViewer)? While I haven't used it on Elementary OS I did use it on Ubuntu a while ago and as I recall it seemed to work well. Just download the 64bit .deb file and install it with Eddy, gdebi, or dpkg.

0

This is a lightly modified version of the answer I posted here. I'm copying it over because this was marked as a related question, and it seems to have much more traffic than the other one, so an answer here would likely be able to help more people.

Elementary OS does not currently come with a GUI frontend for setting up a VNC server, most likely due to the fact that elementary OS exclusively uses its own GUI applications built from scratch in Vala, and building a GUI frontend for setting up a VNC server is just a relatively low priority. It would be a good project for a Settings panel at some point, though.

We are going to use x11vnc, which is a fairly simple, fairly generic VNC server that works well with Pantheon and supports connecting to the login screen (i.e. after startup and before logging in). x11vnc is conveniently available from elementary OS's apt repositories (which for elementary OS Odin are Canonical's repositories for Ubuntu 20.04 LTS Focal Fossa). It has tons and tons of options that we're just not going to use. There are other VNC servers you can use that among other things may have commercial support. Because you're here, I'm assuming you're not using one of them, so x11vnc it is.

We are going to use the command line in order to keep things as simple as possible.

These instructions are adapted from, among other things, this tutorial, which worked for me.

Prerequisites

  • You will need sudo privileges.
  • You will need to set up OpenSSH if you haven't done so already.

Note: These instructions do not include steps for VNC authentication or allowing VNC through the firewall because it assumes you will use an SSH tunnel. This keeps things simple and also more secure.

If you haven't set up SSH, in order to do so in the very most basic way with default settings, run each of the following commands in Terminal:

$ sudo apt install openssh-server -y
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
$ sudo ufw allow ssh

Install x11vnc

In Terminal (or over SSH):

$ sudo apt install x11vnc -y

Create a systemd service (so x11vnc runs automatically)

Open a new file in nano:

$ sudo nano /etc/systemd/system/x11vnc.service

Paste this into the file:

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbport 5900 -shared -o /var/log/x11vnc.log

[Install]
WantedBy=multi-user.target

Save the file by typing Ctrl-O and exit nano by typing Ctrl-X.

Enable and start the x11vnc service

$ sudo systemctl enable x11vnc
$ sudo systemctl start x11vnc

x11vnc should now be running, and it should start automatically whenever you log in locally.

To log in remotely

Note: This is assuming the client machine is on the same local network as the host machine. If you are connecting to the host machine over WAN, I'll assume you already know the public hostname or IP address.

Gather the necessary information

To get the host machine's hostname, on the host machine, run:

$ hostname

This should print the host machine's hostname, e.g. foobar.

If, further in the instructions, the hostname doesn't work, you can use the IP address instead. To get the host machine's IP address, on the host machine, run:

$ hostname -I

This should print all of the host machine's IP addresses, like so:

192.168.XXX.XXX [a bunch of ipv6 addresses follow]

You can probably just use the first one, i.e. the ipv4 address.

Enter the information on the client computer

On the client computer, use the following information:

  • The hostname, e.g. foobar plus .local, or the IP address from above
  • Port 22, i.e. SSH
  • Whatever login information you use for SSH, which should by default be your local login username and password on the host computer

Example client setup: Edovia Screens

Note: My client computer is a MacBook, and I'm using Edovia Screens because Apple Screen Sharing doesn't like the authentication we're using. Because it's what I'm using to test these instructions as I write them, the following instructions use Edovia Screens as the example. If I figure out a way to use Apple Screen Sharing I'll update these instructions. If someone with edit privileges wants to add examples for other client platforms, feel free.

  1. In Edovia Screens, click the + icon in the toolbar and select New Screen.
  2. In the first popup, click Custom...
  3. In the second popup, enter the information as follows:
    • Name is the "pretty" display name for the bookmarked host computer, e.g. Foo Bar (i.e. you can use capitalization and spaces)
    • Address or Hostname is the hostname or IP address from above, e.g. foobar.local or 192.168.XXX.XXX
    • Operating System is Linux
    • Authentication type is None
  4. Click on the Secure Connection tab and do the following:
    • Check Enable Secure Connections
    • Enter your local login username and password from the remote computer (unless you are using SSH keys)
    • Check Enable Secure Connections on Local Network
  5. Click Save

Your Linux computer should now appear in the lefthand side of the main Edovia Screens window, with an illustration of Tux the penguin. (This image will be replaced with a screenshot each time you close a VNC session.)

To open a VNC connection to the host computer, double-click on the representation of it in the main Edovia Screens window.

Caveats

  • I haven't tested this with any clients other than Edovia Screens. My apologies that I'm only testing this on a piece of paid Mac software that costs $30.
  • This is almost certainly not the best way of doing things. It's just relatively simple and relatively secure.
  • I haven't tested this using a host computer with multiple login (i.e. human) user accounts. If you have multiple login users on your host computer, you may have to do additional configuration.
  • While you do need sudo privileges in order to set this up, I don't know if you need sudo privileges in order to log in remotely (i.e. on a managed host computer where some login users may not have sudo privileges).

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.