Remote Accessing my Linux DL Box

Hi folks.

I need to access my Linux box remotely, and I need full desktop, not just ssh. Also, I care about security.

Now, within my home LAN I use X2Go. It would be perfect to use it over the Internet, since it is easily configurable and customizable, and also secure, working over ssh.

Unfortunately, it is slower than hell, no matter how you confiure it. By comparison, windows RDP is lightning fast over the same connection.

Any suggestion? Should I go for vnc? If yes, which one? Is there any quick, detailed tutorial? What about making it secure?

1 Like

Teamviewer is my goto remote desktop application. Works amazingly well with super simple setup.

Create a teamviewer account and setup the machine to use that account.
Then on any new machine(or phone) use the teamviewer application and account and you can login remotely to your machine.

1 Like

I never found remote desktop an elegant idea, may I ask what’s your use case?
Anyhow if you must, you can always use ssh tunnel, run vnc server on your remote box’s localhost, it’s easy and secure.

1 Like

Why not?

I’m accustomed to run xrdp over ssh tunnels, but not vnc.
I assume the procedure is more or less the same (using something like putty to create the tunnel, and forward the vnc port)?
Is it sufficiently fast?
Also, there are lots of vnc servers (tight, real, tiger, etc…). Which is the best?

Is it secure??


First of all, please describe why you need a remote desktop. Most services, e.g. jupyter can be accessed by ssh portforwarding, or you can remotely mount you disk with something like sshfs. In any case you should look into ssh portforwarding, even if using vnc, as it will provide the security layer that you ask for. E.g. you can run x11vnc (look it up) on your linux box, which will listen on port 5900 by default. You should then connect to your linux box with portforwarding of remote port 5900 to a local port, e.g. 5900. You can then connect by a vnc client on your local computer to localhost:5900 , which will be forwarded (and compressed, and encrypted) by ssh to your remote Linux box.

1 Like

I’m aware of that.
I need a full desktop graphical interface since I don’t just do DL with the remote machine. Regardless of the details, I just want a full desktop.

So, it is the same procedure I use right now for xrdp.
Important question: does VNC have advantages over rdp/xrdp?

Just test it. For the little use I’ve made of remote desktops, vnc has been fast enough.

1 Like

Is teamviewer secure?

I have not looked into its details but it is a real commercial product that has been around for many years. I strongly suspect it is uses industry standard practices.

1 Like

I hope you are not watching movies or play starcraft over remote desktop.
like dov and I said before, if you show your needs/use cases, someone might know something more efficient, if you already made up your mind to gui only, you already got your answer.

1 Like

The short answer is that I just got to do my ordinary job on the remote machine. Why? Because it is powerful, while my laptop is weak. I got a Xeon and 64Gb of ram on the remote host, while my laptop is a core-M with 4gb.

I’m used to work with hundreds of browser tabs running simultaneously, heavy IDEs, a lot of background tasks, and of course DL.
As soon as I open apps on the laptop, it slows down considerably, and the battery is rapidly drained.

I’d really like to use the laptop just as a (graphical) terminal.

That said, what really pisses me off is the smoothness and speed of using RD between two windows machines. I just cannot manage to achieve that between windows and linux (or linux/linux), no matter the tool I use (rdp, x2go, vnc, etc…) which is strange, since the protocols are the same.
Over the same internet connection I can watch fullscreen movies between two windows, whereas even scrolling a web page is slow as linux is involved.

On the other hand, if I use windows on the remote host, DL performances take a substantial hit. For reasons I fail to understand, training a NN with pytorch or TF takes some 50% more time on windows.

1 Like

Use a pfsense box with vpn sit it behind a bridged modem. Then VPN into your remote network.

1 Like

Didn’t know pfsense, I googled it and it seems interesting as a general purpose firewall platform. Did you recommend it just to put an additional layer of security over the solution we mentioned (rdp, vnc, etc…)?

If you want some degree of proper security. Its suggested you:

  1. seperate the modem and firewall
  2. use a dedicated firewall with stripped down os ( bsd is good starting point)
  3. minimise services running on your firewall.

There are plenty of hardware firewall providers out there, Pfsense is one.

If your security is important then this should be a good starting point.

Just using ssh into a box is ok only if assuming there is nothing else that can be compromised on the box or router,

1 Like


I recently wrote a blog post about making your workstation accessible remotely and setting up wake on lan so that it does not have to be switched on all the time:

Here I described how I use jupyter and tensorboard through a terminal mutliplexer called tmux:

I believe this is a very powerful remote working setup, I hope the blog posts help you :slight_smile:


To be honest, I already got a similarly configured setup, and I was more interested in remote accessing a full desktop gui, but I think your blog post will be extremely useful to other people who will stumble upon this thread, thanks :slight_smile:

glad you like it :slight_smile:
In principle you can tunnel vnc through ssh (probably you know it, others might not) but I doubt it will be without lags…