On Windows machines, if one machine A runs the remote desktop service, and another machine B (which in fact doesn't have to be Windows) runs a remote desktop client - then the user on B can 'steal' control of the session on A, see the app windows which were opened there and interact with them. Note that RDP also allows you to open a new session if there's no existing one, but that's not what the question is about.
My question: How can I achieve the same with A being a Linux machine, running an X server with an X session in progress.
Notes:
- A solution need not be based on MSRDP itself, it could be NX, or VNC, or whatever else you like.
- I'm willing to install software on A and on B, including installation as the root user.
- Commercial solutions are relevant, though I would rather not resort to them.
- Solution may involve opening additional ports on A (in addition to, say, port 22 for SSH).
- Assume the distributions are Debian-based and fairly recent.
- This question is similar to this one, but it's not the same, since : 1. I'm willing to run services other than just X and 2. In that question, the OP seems more interested in getting specific windows, while for me it's important to see the whole thing.
- Solutions in which both the users on A and B can interact with the same session are also relevant.