Ask HN: Are any remote desktop solutions good enough for full-time use?

45 points by filleokus ↗ HN
I'm thinking about having a beefy desktop computer at home and using some kind of remote desktop solution to connect to it from other places (e.g co-working spaces).

I have good bandwidth (250+ Mbit both ways) with low latency (< 10 ms) between the computers.

Is there any solution that's good enough for 100% full-time use. I'm thinking about stuff like high DPI ("retina") resolutions, transfer of audio input and output and just overall good enough quality and latency to not get annoyed by it.

The computer at home is probably going to running macOS, and I would preferably have a solution where the client can be run on macOS or maybe linux.

Does anyone have experience with a solution like this?

56 comments

[ 2.5 ms ] story [ 128 ms ] thread
Remote Desktop and Citrix desktop sharing are the only really good options. Neither will deliver your macs desktop experience to you.

VNC is ok and built into OS X but leaves a lot to be desired performance-wise.

The macOS VNC server seems to perform perfectly fine with macOS clients, but it performs terribly with any other VNC client. I am guessing they are using some proprietary compression or something there.
Were Windows involved at both ends, you could start with RDP. It has many low bandwidth solutions. It uses local assets on the client to reduce data sent by the server. It's been the primary method of remotely administrating Windows servers for over 20 years. And some distros support the protocol now too.
My experiences with RDP on Linux have been truly excellent. I often spend all day working on a client's Windows servers from my Ubuntu machine on a 4K display and the experience is no different to running Windows natively. I use XFreeRDP FWIW.
I'm usually running one or two local Windows or Ubuntu VMs on my MacBook while remoted in to two or three Windows machines with RDP. The local Windows VMs give me infinitely more trouble, even just considering the memory limitations of a single laptop. On the other hand, there's honestly no perceptible difference between the RDP VMs and running Windows natively. I would do all of my Windows work on them, except I have to ask our sysadmin to spin up any new VMs on our server and I am constantly building new VM images from scratch.
I see TeamViewer as the "de facto standard" in that space. It usually works.
Not really what you are asking for, but I've been working on a low powered Windows machine with just Putty-ing (SSH-ing) to my Linux desktop for quite some time now.

I pipe what Xorg stuff I need through SSH and otherwise I just work in tmux + vim.

So far only pain point has been downloading stuff via browser on Windows since I don't have sshfs or any other real-time file transfer setup between the machines, but that happens rarely enough that I've just put up with psftp

I used to do this, but it was _so_ slow!

I wouldn't recommend X11 over SSH to anyone.

With the compression enabled in config it's decent on a good connection and I use it often.
In case of Linux, the best results so far I had with X2Go using the virtual desktop mode.

More about it here: https://cepa.io/2018/08/05/building-an-ultimate-remote-linux...

For Win & Lin, NoMachine works reasonably okeyish if your link is fast enough to stream in high quality.

I use a RaspberryPi running X2Go as a proxy to access work machines from home. It'll talk RDP or VNC at the remote end to the target desktops, but then X2Go's protocol over the Internet back to me.

I don't know if you'd get the kind of throughput the OP is after, but it works well for my needs.

I have always been quite happy with nomachine . It's running on the PC where my HTC Vive is connected to as I am using this as a monitorless VR PC
This is a good question!

I've been considering having a similar setup for my wife. She's a chromebook user and often needs to run software like SPSS that's exclusively to Windows.

I don't have a solution for the OP, but if anyone else is in a similar situation of needing a Windows machine every now and then this might be useful.

We went with an Amazon WorkSpace solution, they have clients for a wide range of devices (chromebook, linux, mac, windows, fire) and you get like 40 hours for free. (Not nearly enough for full-time use of course, but to run certain pieces of software it works).

I've used Paperspace (a competitor for WorkSpace) for strategy gaming on a Thinkpad X201 running Debian, and it worked fine. They don't offer 40h, but the price per hour seems cheaper ($0.07/h for their basic machine, the Air).
Thanks! Hadn't heard of them but I'll check them out. The gaming option looks interesting actually :)
Chrome remote desktop works very well for me. With the remote server on a 35Mb residential connection (so maybe 5Mb up) I can almost play games remotely.

Previously, on an 100Mb symmetrical connection I was able to play games over it, although the input latency was noticeable.

Works on linux and windows, no idea about OSX.

Yes, Amazon Workspace.

Expensive though.

I have been using Chrome Remote Desktop for accessing my desktop (Ubuntu) when I'm away. It does the job well.

While I have used the Mac client, I have not used it as the host yet.

The benefit of Chrome Remote Desktop is the ability to access your desktop from any computer with Chrome installed using your login credentials. It also does the audio out, etc very well.

(comment deleted)
If you're able to spin up an Apache Guacamole server I highly recommend it. It has completely changed how I think about remote access to my home network. https://guacamole.apache.org
Does the HTML5 client work well on iOS Safari, e.g. iPad Pro? How well do video and desktop 3D animations (e.g. Aero, Office widgets) work?
Sorry for the slow response. I've used it only on Safari on my mid-2015 Macbook Pro 15" and it works well. Video is a little choppy but I blame that on my abysmal 10mbps upload speed on the host network. Desktop animations seem to work fine as well.
I've commissioning beefy machines on Google Cloud and using Xpra to output the application windows to my notebook. The advantage over other solutions is that it's responsive and you don't need the full desktop.
In our office we use a cloud based system for email, file storage and sharing,calendar, teleconferencing, etc... It's basically a private cloud. It can be setup on your office servers or on a web server. We access it via our website, with one single login. https://cloud.helloai.com and you can get more information --> https://www.mcnetinc.com/cloud/
Theoretically the best option would be to have hardware that support zero latency streaming over IP with compression. The only problem is that you also need dedicated hardware on the other end. But this could work well for example virtual reality headset/io. With current solutions (VNC et. al), the IO is converted back and forth many times between different formats, and every step adds some latency.
Buy a Steam Link and a raspberry pi, and two usb eth adapters, create a ZeroTier network and configure the pi (openwrt) to get internet from one of the adapters and share both the internet connection and the zerotier connection over the second adapter. Configure the zerotier network on your computer and set ul Steam In-House streaming. Then you can take the pi and steam link anywhere, plug a mouse, keyboard and screen, and use your computer. I get 60fps at 1080p and no noticeable input lag over the internet (work to home).

If you use a nvidia card enable "force composition pipeline". There is also a Steam Link app for Android, and ZT client as well, works great.

Do you need the Link? Couldn't you run Steam on the Pi?
Doesn't work, also the whole thing with Steam is that nvidia granted them access to their capture API
About band, the steamlink is capped at 100mbps and it still works great
I'm intrigued, seems like a fun weekend project.

ZeroTier is to fool the Steam Link to work over the Internet, or to improve latency?

How are the (physical) connections made? I understand one of the Pi USB/ETH adapters needs to be connected to the internet and the other to the native ETH Steam Link, what about the native ETH Pi port?

Sorry for (probably obvious) questions.

EDIT: cleaned

Moonlight works really well on my Raspberry Pi 3 (with everything connected on ethernet) and is really easy to setup.

Pretty neat if you want to remotely use your PC on a TV

I haven't done any test using it on internet but it seems to be possible.

https://moonlight-stream.com/

Give Chrome Remote Desktop a go - it's pretty convenient and I've used extensively in the past. My experience has been similar to yours - wanting to use a cheap laptop when i'm out but access all my data and software on my home setup. Am pretty sure that Windows RDC and Citrix we're built by the same team and they work at the OS level - definitely the best performance at the machine level - but windows only.

TBH it probably is not going to work as well as you hope due to simple latency and less-than-simple packet routing issues, over and above the capabilities of the actual software. You would probably gain more by spending some money on one decent laptop and a standby desktop - and sync'ing them with dropbox & imap. I know this is not what you asked so feel free to ignore.

I use CRD all the time on a LAN with great success. You barely even know it’s a Remote Desktop for basic graphics/text. Across the internet it is ok. Slight latency, but maybe it’s good enough for what you want.

IMO CRD is better than Windows Remote Desktop.

One big plus is it is super easy to use and set up.

Started using Jump Desktop[1], works pretty good. Windows client is free, the rest of clients you have to pay for, but this is one time fee, which is much better than TeamViewer and others.

Another option is to use built-in windows and mac desktop sharing options, but you need to run somewhere in the cloud a VPS for $2-3 a month for reverse SSH tunnel, and then you can connect to your machines from anywhere.

[1]: https://jumpdesktop.com/

Hi,

I work on Jump Desktop. Glad you're using it. If you have any questions / suggestions - please let me know.

I use tigervnc over an ssh tunnel. I'm not watching videos or anything but I can use visual studio and my opengl 3d printer software.
XRDP server for Linux can be configured to send sound, so I’ve been using that setup for a cloud dev box. In a pinch, it works reasonably well from an Asus c101pa chromebook plugged into a 4K monitor.

Edit: forgot to mention that the latest versions of the official RDP client for macOS, iOS, and Android are pretty good and “just work”.

I tried a ton of solutions, but the one that worked the best for me:

Client: MacOSX with Microsoft Remote Desktop Server: Google Cloud Ubuntu w/ XRDP

I use my mac book to microsoft remote desktop into my server with Xrdp and I use ratpoison as my wm. I can code in intellij quite well!

Hope this helps

Are you saying that windows Remote Desktop client can be used with non-windows server? If so does the other way work too?
previous licensed teamviewer user here.. got driven away by costs to anydesk.com for remote support, and for a few clients who rdp to work desktops. it works fine for these needs, might be worth evaluating for yours.....
If you're mode dev oriented, then I would definitely recommend taking a lok at Eclipse Che, and Theia IDE.

These will allow you to use the remote machine very productively for dev work (and you'll have RDP for other things).

I have a hunch many tech sectors will move to this setup in the coming years.