After doing a little bit of thinking and research, it appears there are actually 2 ways you can "do remote desktop":
the Remote Control way: the software opens a channel to replicate the screen and transmit mouse/keyboard input to the computer, just as if you were in front of it. If someone else remotely connects at the same time, it's just as if they were sitting next to you, they see the same screen and you share mouse and keyboard. With most software, when you disconnect, you're not closing your session, you're just disconnecting your screen and input -- meaning anyone who can access/connect after you has access to your session and data.
the Remote Session way: the software connects to the remote machine and shows you your own dedicated screen and takes your own dedicated input. If someone else connects, they have their own as well, with their own separated settings and files, just as on a multi-user computer. When you disconnect, you're actually ending your remote session. If someone accesses the physical computer, all they will see at any time is the login screen.
There are a number of alternatives for the first use case: VNC, LogMeIn, TeamViewer, RDP on Windows desktop, to name but a few.
I am looking for an easy to set-up, fast/efficient, free solution for the second use case, connecting from a Windows PC to a Linux desktop. I know X2Go, but it is based on an old version of the NX protocol and is somewhat slow. I tried to set-up NoMachine to get a more protocol, but apparently the free version only supports the "Remote Control" use case.
Thanks for your advice.