2

I'm trying to connect to a Windows 10 Pro machine using username USER01, and there's another user named OTHERUSER02 already logged in locally to the machine. But he receives a message to log him out so I can connect using RDP.

  1. Why my RDP connection logs-out another user?
  2. How this can be resolved so I can use the machine remotely and allow other users with other usernames to still work locally on the machine simultaneously?

Thanks

MasterMind
  • 58
  • 6
  • Windows 10, Pro or not, is not a server OS, so you're limited in the number of users who can open a session at the same time, either locally or remotely. It's 1, max, and there's nothing you can do about it, except tinker with this dll or that, to the risk of infecting your PC with malignant code or making it unstable. Google possible "solutions" to your "problem", or install Windows Server 2019 on your PC (you can use it for free up to six months before you have to buy a license: https://www.microsoft.com/en-US/evalcenter/evaluate-windows-server-2019?filetype=ISO). –  May 29 '20 at 08:13
  • @Didier incorrect. Yes, Windows 10 is not a server OS and as such this is not possible. No in the sense that altering a dll will change this. No. The hack you refer to allows multiple people to connect through RDP, but you still cannot work locally at the same time. The only solution is to use a server here. – LPChip May 29 '20 at 08:44
  • Depending on the hack you're referring to, *you* are incorrect. You can either edit a DLL (I won't say which one here; the OP can do his/her own research about it) *or* use a wrapper that won't edit the DLL, just modify some working parameters it answers to. If the latter, then you can make Windows (7 and up) to accomodate both a local user and a remote user, plus a slew of other remote users, to connect at the same time, the limitations coming from what the hardware can take in terms of multiple, concurrent, connections. –  May 29 '20 at 10:09
  • @Didier I am very much familiar with this hack as I have used it plenty in the past. If a user is logged in, it does not matter what setting you use, you will kick out the local user. The difference is, that if you don't use the hack, and the first user RDP's into the machine, and you RDP into it secondly, you ALSO get the same question. – LPChip May 29 '20 at 11:38
  • There was something wrong with your setup, then, because, back in the (good ole) days of Windows 7, I had set an account for my girlfriend on my PC, and we could both log in to our respective accounts, with me working locally, along with the built-in local admin, and she remotely over our home LAN. Back then, I had this beast of a HP workstation dual-booting Win7 and CentOS, and she an Acer laptop that would require reinstalling Windows XP SP3 every couple months... :-D –  May 29 '20 at 13:41
  • @Didier ah, I never actually worked with this under Windows 7, only on Windows 10. – LPChip May 30 '20 at 09:27
  • Thanks Didier & LPChip for your informative contributions. – MasterMind May 30 '20 at 09:28
  • Isn't there any 3rd party SW that can be used on windows 10 pro to enable such feature? A free one will be a good option of possible :) – MasterMind May 30 '20 at 09:31
  • @MasterMind you will need something that emulates terminal server. Those solutions are not free for sure, so the best alternative is to use a VM. Oracle VirtualBox is free and can run headless but a VM is taxing on the system. – LPChip May 30 '20 at 09:32
  • @LPChip, the machine is powerful enough to run VMs, but I want to RDP to the local machine itself not a VM. I'm thinking to use x11 forwarding as an alternative, but not sure of its performance will be good. – MasterMind May 30 '20 at 09:36

2 Answers2

2

Why my RDP connection logs-out another user?

Windows 10 is not a server OS, but a client OS. The difference between a server and client OS is the focus on foreground vs background tasks.

On a server OS, all programs are presumed to run as background tasks and ensures that all programs get equal attention. Additional server roles bring functionality to the server to allow it to perform certain tasks. One of these features is called Terminal Services, a service that allows more than 2 users to connect to the server remotely at the same time.

On a client OS, everything runs in the user scope at the foreground. As such, the user has exclusive access to the hardware which helps greatly with performance, but also makes that only one user can use this at the same time. As a result, when a user "locks" access to hardware, another user simply can't access it. As a result, the user has to be pushed to the lock screen to release the lock, allowing a remote user to use terminal services (user SYSTEM) to forward the things such as graphics to the user. So the remote user does not get a lock on the hardware, the SYSTEM user takes the lock in this case, and redirects this.

How this can be resolved so I can use the machine remotely and allow other users with other usernames to still work locally on the machine simultaneously?

The short answer is, you cannot.

Is it technically impossible? No. It can be done on Windows Server, right... But Microsoft does not want you to do it when using a client OS, and therefor it cannot be done. Due to how a client OS works, there is too much that needs to change for this to become a possible option, that it is a far easier approach to use a Server OS to begin with. Also, the prices for a server license are far higher. Microsoft wants to charge for how many users a device is used at the same time, thus a client OS has lower prices, but the limit of one user at the time (by default). A hack can make more than one users through RDP, but microsoft actively combats this, and as such, everytime they update the terminal services, the hack needs to be applied again, making it tedious and not a viable solution to begin with. A server is designed to work on with multiple users, and you pay per user licenses.

That said, if the pc in question is a very powerful one, you could in theory install a VM and allow access to the VM through RDP. You could then have a user work locally and a user through RDP because in essence, you run 2 windows installations on one pc. The performance will suffer, but it is possible.

LPChip
  • 59,229
  • 10
  • 98
  • 140
  • When you know how easy it is to install a basic version of Windows Server 2019 (you must have an x64 PC, though, but who doesn't nowadays?), and, push come to shove, reinstall it every 180 days, provided you accept to completely wipe out the partition you installed it on in the first place, that I can't for the life of me understand why people would stick to Windows 10 if they are going to try and use it as a regular server. –  May 29 '20 at 10:19
  • @Didier yeah, I fully agree with you. Alternatively, you can switch to linux or other system that does allow it, of course. – LPChip May 29 '20 at 11:18
  • Thanks @LPChip for this very detailed answer, much appreciated. – MasterMind May 30 '20 at 09:30
  • @MasterMind you're welcome. :) – LPChip May 30 '20 at 09:31
  • FWIW, I'm posting from Windows Server 2019, my current overheads are less than 10% CPU usage and less than half my RAM (I have 6GB installed) currently in use, with only 80 processes running, though I have six applications opened, Firefox and Thunderbird among them. Try to beat that in Windows 10... –  May 30 '20 at 10:55
0

I ran into the same issue and came across this little life hack.

https://github.com/stascorp/rdpwrap

RDPWrap is amazing. It let's your system run just as a server would as far as connecting multiple sessions. I put it on a few of my systems so that I can login from another system and continue to work while others use my main system. Haven't had an issue yet. You'll want to follow the instructions down to the letter to ensure it sets up properly but once it does, you'll be happier than can be.

  • Hello, the instructions should be here, whether quoted or your own, don't only post links + your experiences. – Destroy666 Jul 21 '23 at 17:51