Best Remote Access Solution for the Home?

I started a new dev job in the middle of the coronavirus lockdown. Naturally, I set up my dev environment on my desktop PC at home. The company is currently looking into progressively reopening the office so I’ve been thinking about how I’m going to juggle between the two dev environments I will have on my desktop PC at home and my laptop when I’m in the office/away. I had the thought that it might be cool to have only the one dev environment on my desktop and to remote in with my laptop. I have a decent desktop with wake-on-LAN and a fast internet connection that should be able to handle this scenario no problem, and I even have a spare computer that I can use as a server to act as a gateway to my home network (VPN or SSH Tunneling).

What I don’t have (or know about…) though, is a good, open-source or relatively cheap, remote desktop protocol or software. I’ve tried VNC, and “remote support” type software like TeamViewer, RemotePC, Zoho Assist but I found them to be either too slow, have poor image quality, have heavy clients that like to add badges all over your screen or are inconvenient to work with when the host and client have different screen resolution/configuration, which is my case. I’ve tried RDP, which I liked better what with its different session management approach, but I found it to be extremely slow, even when remoting in on the LAN. Now I have used enterprise grade remote desktop protocols/VDIs such as Citrix’s IPA, VMWare Horizon and PCoIP (even RDP in some cases) and found them all to be extremely usable, so my issue is not because I just don’t like the remote access experience. I can tolerate some input lag, but the RDP setup I tried was way too slow. On input, the screen would change with a slow-moving scan line from bottom-to-top, basically unusable.

The host and clients are running Ubuntu 20.04 (the client has a high-resolution of 3000x2000, which may be why my RDP experience wasn’t great), and the “gateway” server is running Ubuntu 18.04. The RDP setup I tried was with xrdp as the server and Remmina as the client. I am looking for any recommendation for a different RDP setup I could try, or a different remote access software/protocol that is either open-source or relatively cheap. Thanks!

Why don’t you just use ssh?

You don’t need a full fat gui for development.

So long as the source code is in a central place with a Version Control you’re fine.

1 Like

vnc is what I use to remote into my Linux home PC
light dm does a vnc session that by default disables remote access but you can enable it.

Ssh with an x forwarder seems like the ideal solution to me.

So couple options for remote access to your home network I would recommend setting up your own openVPN server in a docker or on a spare computer. The free license allows for two accounts and it is pretty easy to set up also there are tones of tutorials out there.

For me I’ve been playing around with a vscode docker hosted on my unraid server. its an interesting coding interface that can be accessed from a web gui. But is maybe not ideal for professional work kinda depends on what you need. Alternatively you could use a git hub or git lab to host code your working on. git lab also allows for you to host your own server which can be nice for privacy. However, this is mostly useful for personal projects you probably shouldn’t host company projects on your own server.

For virtual desktop I’ve had success with both real vnc and teamviewer but graphics are going to be a challenge no mater what system you use often time the graphics quality is heavily compressed to prioritize lower latency over image quality. you could try parsec I haven’t used it personally but it seem promising for high definition streaming.

This is a unconventional free solution, but one of the best streaming experiences I’ve had is actually though the steam game streaming software that’s free for the devices on the network that have steam installed and you could access it remotely with a vpn. However, this would not be as fast a local network speeds and you would have to install steam, and stream a game in order to then close the game to get to the desktop. But hey its free.

1 Like

mosh (ssh) + local editor + sshfs for me.

(should probably try that remote vscode thing one day)

1 Like

I did stumble upon Parsec in my research and got excited about it, but you cannot host Linux with it, which is a bummer. However, I was fortunately able to figure out a better setup for RDP, so if anyone has the same problem, see here: https://github.com/neutrinolabs/xrdp/issues/1026. TL;DR: use RemoteFX for color encoding and if using Windows’ native client, set your connection type to LAN regardless of how you are accessing it.

1 Like

It works very well, but only on things >=el7 so if you have an older env flat out won’t work.