What I'm trying to do is to connect from 2 different devices (I tried iPhones, but that doesn't matter at this point) to 2 different sessions (different users logged in simultaneously) on the same Mac. And I seem to be unable to do so. I did found a thread where the same question was asked about Windows PC, and it was stated there that that's a limitation of the Windows (you need Terminal Server to do that), but macOS certainly does not have such a limitation. I can simultaneously connect via Mac Screen Sharing to single computer (regular consumer macOS, Mac Server installed) from any number of other Macs and start different independent sessions for different user accounts -- while on the actual Mac screen yet another session is running undisturbed.
However, when I'm trying to connect via TeamViewer, all I see is that currently active (foreground) session. Unlike Screen Sharing, that offers you 2 choices, either take over that session or start a separate session for different user, TeamViewer always takes over the foreground session and if I try to switch (from the connected device) to a different user, it switches it on the Mac as well. So it literally just showing you a copy of the physical screen rather than a virtual screen of the selected session. While in the topic I've mentioned it was implied that TeamViewer is perfectly capable to display virtual screens in the Windows Terminal Server environment.
I also tried to proactively start 2 simultaneous sessions on the Mac and start TeamViewer in both of them, hoping I'll be able to distinguish between them when I connect. But the problem is, both TeamViewers instances are displaying the same User ID for both sessions. So my attempt failed this way just as well.
Now, the question is, is it even possible? And if so, how to achieve it?
Thank you for your post.
TeamViewer allows you to control a computer/mobile device as if you are in front of the machine itself.
However, as privacy and security are our top priority, it is not possible to control the machine in the 'background' - that being said, any action you take while remotely connected will affect the active user on the remote machine.
Hope this helps clarify.