4 ms·
Depends on the kind of application. The advantage of X compared to RDP/VNC/whatever remote desktop protocol is that you transfer only drawing commands, meaning
by alerighi 5y ago
Depends on the kind of application. The advantage of X compared to RDP/VNC/whatever remote desktop protocol is that you transfer only drawing commands, meaning that if you are seeing a static screen no data is transmitted, if only a part of the screen updates only that data is transmitted. The load on the network is lower.
Nowadays with modern video compressing protocols also sending the video like RDP doesn't require a lot of bandwidth either and has an acceptable latency to be fair, but with X it would be even better (and it is, if you ever used X over ssh it works great)
- bitwize 5y ago> The advantage of X compared to RDP/VNC/whatever remote desktop protocol is that you transfer only drawing commands, meaning that if you are seeing a static screen no data is transmitted, if only a part of the screen updates only that data is transmitted. This is true of RDP also. The initial versions of RDP were basically GDI over the wire. Of course it's been expanded since then to include DirectX calls, etc. > The load on the network is lower. That is incorrect. RDP is actually usable over an internet link; X11 is far too chatty and ridden with roundtrip latency for that use case. Even VNC does better over the wire than X.
- alerighi 5y agoInteresting, in fact I always wondered how RDP performs so well. > That is incorrect. RDP is actually usable over an internet link; X11 is far too chatty and ridden with roundtrip latency for that use case. Even VNC does better over the wire than X. Yes I use it over an internet link and it works reliably. But the main difference between RDP and X11 forwarding is that RDP forwards the entire session, while with X11 you forward the single application. With X11 forwarding you can indeed run on the same X server different X clients. That can be an advantage in an era of microservices, because you can see an X client as a microservice, and thus have a workstation (a X server) run a plentful of X clients each one on a different machine/VM/container.