I had good experiences with x2go [1]. I also tried winswitch, as I remember it worked well too [2]. Both support the NX protocol.
About NAT/firewall zerotier[3] solves most of my issues.
About NAT/firewall zerotier[3] solves most of my issues.
The other thing RDP is amazing at that I haven't seen Linux do well at all is resuming local sessions remotely and vice versa - with RDP it feels integrated, with x2go you're back to just transferring frames.