top | item 19318939

Ask HN: What is the best setup to work remotely with GUI on Linux?

59 points| TheCabin | 7 years ago | reply

In the past I tried a couple of setups using different protocols (VNC / RDP) with varying server / client software but was never really satisfied. Since this is a common problem, I am sure that some people here on HN have a well tested configuration for this and might be willing to give some advice.

Scenario I am interested in: * Server machine runs graphical applications (potentially GPU / OpenGL intensive) * Client can connect via SSH and is supposed to see graphical application (full desktop or just application)

Thanks for any recommendation!

37 comments

order
[+] hexadec|7 years ago|reply
I recommend Parsec. I use it for gaming on remote Windows machines, but the Linux server works well too. I can access from my Chromebook or laptop with enough fidelity and good networking that allows me to do nearly anything.

I still suck at CounterStrike, but that is not the software's fault.

https://parsecgaming.com/

[+] dajohnson89|7 years ago|reply
>gaming on remote Windows machines

I have a linux desktop, but would love to do some windows gaming remotely. Isn't the latency introduced by gaming over VPN a problem? If not for single-player, then certainly multiplayer?

[+] Can_Not|7 years ago|reply
Parsec doesn't support remoting into linux machines.
[+] nickthemagicman|7 years ago|reply
Can we remote into the machine with it?
[+] LukeShu|7 years ago|reply
I'm pretty happy with VNC with JPEG compression (which not all VNC implementations support). Depending on the use-case, I either use TigerVNC `vncserver` (creates a virtual X11 display, in my experience OpenGL performs very poorly), or TigerVNC `x0vncserver` (which attaches to a real/existing X11 display and polls it to serve it over VNC; OpenGL performed normally).

TurboVNC is a fork of TigerVNC that has improved OpenGL performance. I can't comment on it too much.

I either connect to VNC directly on :5900 if I'm on the same LAN, or I `ssh -L5901:localhost:5900 server-box`, then `vncviewer localhost:5901`.

[+] lclc123|7 years ago|reply
I agree, VNC+JPEG is a good fit for this kind of thing.

I posted a comment recommending TurboVNC earlier, but it looks to be hidden. It compared favorably with TigerVNC when I tested both. VirtualGL support is baked right in, though of course you have to first set up VirtualGL itself. That'll allow you to use the GPU on a headless machine and share it between users. (with some caveats)

[+] Ologn|7 years ago|reply
If the applications are running on Windows I tend to use RDP, if they are running on Unix I tend to use VNC.

Running Firefox over a WAN is slow-going with X11 and ssh, VNC is much faster. The first one I tried was tightvnc, and it did the job for what I needed, so I have stuck with that.

[+] mcgrath_sh|7 years ago|reply
X over SSH works for individual apps you launch from the command line. I do this for Calibre on my home server. I have never tried with a desktop. It is simply a config in the SSH config and then an option when launching SSH.
[+] TheCabin|7 years ago|reply
Good recommendation. I've used this approach before but somehow had the impression that this doesn't work for OpenGL applications. Now that I think about it, I should simply give it a shot.
[+] bnegreve|7 years ago|reply
You may want to activate ssh compression (see ssh -C).

If you're remote it can speed up X forwarding and make the whole application more reactive.

[+] sandreas|7 years ago|reply
Well, what varying server / client software did you try? I'm pretty satisfied with xrdp on Ubuntu 18.04 Desktop.

I did not test GPU intensive software, but its easy to install, runs nearly out of the box and client software is available for Windows, Linux and MacOS:

https://help.ubuntu.com/community/xrdp

[+] lclc123|7 years ago|reply
Which VNC implementation(s) did you try? TurboVNC was developed with OpenGL applications in mind. It's from the same developer as VirtualGL, so the two are well-integrated.

It does take some tweaking of the compression parameters for good performance. I also had better luck using its native TLS encryption rather than tunneling over SSH.

[+] tempfasowsl|7 years ago|reply
x2go for opensource or nomachine if you don't mind paying are good options.

They are better than X over ssh and usually a little better than rdp

[+] rmurri|7 years ago|reply
They also have good support for different screen sizes, and multi monitor differences between machines.
[+] TheCabin|7 years ago|reply
Awesome, thanks! Didn't hear of either yet.
[+] gregopet|7 years ago|reply
nomachine worked great when I tried it (granted, that was a few years ago). Definitely worked better than RDP at that time!
[+] gargarplex|7 years ago|reply
Just want to give a shoutout to my trusty friend Xvfb. Used many times to remotely & automatically operate GUI apps on Linux.
[+] algorithm_dk|7 years ago|reply
there's nothing acceptable over ssh

you can do steam in-home streaming over zerotier.

it's actually faster than geforce now

i have a raspberry set up so that i can plug it anywhere and work on my home computer

latency is so low that shooters are very much playable

you can use steamlink hardware as a client, or the newish raspberry pi release

[+] rubicon33|7 years ago|reply
yea steamlink is amazing BUT as far as I know, it cannot be used for arbitrary desktop streaming. You can certainly stream games wonderfully, but that's it.
[+] akulbe|7 years ago|reply
RealVNC Enterprise works fantastic for me. ¯\_(ツ)_/¯
[+] nickthemagicman|7 years ago|reply
AWS has workspaces. They're not super cheap but it's all handled for you.

Browser, mobile, desktop, etc.

[+] phakding|7 years ago|reply
No linux client
[+] bigjojoto|7 years ago|reply
login into your machine using ssh export your display to your ip xstart and the you'll have the complete remote desktop running on your machine. Of course you'll need a xserver emulator running on your local client.
[+] Samon|7 years ago|reply
I've had decent success using Xpra.
[+] ta3057|7 years ago|reply
Could you give more details or point to documents which helped you reaching "decent success" level? Xpra can be a bit difficult to configure due to the amount of possibilities available.