Hacker News new | ask | show | jobs
by anonymousse1234 2200 days ago
I use RDP multiple times every day. I have tested Linux RDP server implementations and they are very buggy and really not production ready only NX kinda is (yet not as good as MS RDP). VNC is so bad and lacks so many features that it's not even considered a competition - it's old insecure slow protocol that should be forgotten by now.
4 comments

RDP isn't really meant to be cross platform, right? It's a Windows graphics server telling a Windows client how to draw some Windows widgets. The fact that there are working Linux implementations at all is impressive. By contrast, VNC is pretty close to just sending an image of the screen, with some clever optimization.

VNC over SSH should be as secure as you need, but it's never likely to be as performant as RDP.

> It's a Windows graphics server telling a Windows client how to draw some Windows widgets

In the 90's when everything was made of lines and rectangles, you're right that this deep integration made RDP perform much much better.

Now though, nearly all applications are composited bitmaps (webviews, opengl surfaces, etc). There isn't much scope for sending the raw draw calls over the wire anymore, and instead using some video codec to send the surfaces as bitmaps, and then compositing on the client is about the best you can do.

VNC doesn't even do that though...

There is an official RDP client for macOS. I use it every to connect to the Windows PC under my desk, while using the monitors on my laptop.
keyword: client, not server.
This is part of why Windows is my main boot OS on my desktop. Remoting into Linux (whether it's my SBCs, laptop, or a VM) from Windows is easier and works better than the opposite.
Although VNC allows multiple users to view the same screen at the same time (and fight over the mouse if they wish).

In all seriousness though it's useful if you use VNC just to remote monitor a screen and want to leave it open indefinitely.

Also RDP uses TCP and UDP which makes it bad for SSH tunnelling, as opposed to VNC which is TCP only and easy to tunnel.

RDP can be limited to TCP. Microsoft's client autodetects whether UDP is available and can work without it.
I'm not an expert on RDP. But I tunnel RDP over SSH all the time... What am I doing right?
it's very common to use RDP over an SSH tunnel. it's not great in low bandwidth situations, of course. but in today's world, it's usually fine.
It works much better in low bandwidth situations if UDP is also available because then things like "the user just closed this application, stop downloading this picture" can happen.

With TCP multi-megabyte buffers can end up forming and when you've shoved data into TCP there's no way to cancel sending it.

We have xrdp running for several years now. It works fine but took some effort to get there:

- Compile it yourself. The package that comes with your distribution is bad and has things like copy/paste disabled.

- Configuration of authentication takes some effort.

Any chance yo can point me at any notes you have about compiling it? I haven’t managed to do it with latest source successfully.
VNC supports TLS... What part of that is insecure? By my experience I can't see in which use cases it would be slow either, but they possibly exist...
For me VNC feels more sluggish than RDP. I can tolerate working with RDP to a server over Wi-Fi over a DSL line. VNC between two computers on my home network (client on Wifi and server on wire) feels laggy. If I connect the client to a wire, it's tolerable.