Speaking of TeamViewer, do you know a good open source alternative that I can self host (I mean self host the relay server for NAT traversal). That is as easy to use? Works on windows, mac and linux? It should also be installable in a few slick with no network configuration required.

In case when remote control capabilities are not required, one could use jitsi (https://jitsi.org) video conferencing service which provides screen sharing capabilities (implementation depends on the web browser).

The main advantage is that there is no need to install any software neither on the remote machine nor on the local one.

There is a cloud hosted free version https://meet.jit.si which does not even require registration.

For those of you who need to try it out real quick : Jitsi Docker : https://github.com/jitsi/docker-jitsi-meet