SUMMARY Krdc doesn't pass the full username to xfreerdp. If the username contains two backslashes, it only passes the part between them. This effectively makes it impossible to connect to a computer using a Microsoft account with krdc. STEPS TO REPRODUCE 1. Enter a host to connect to and click "go to address" 2. Set up needed parameters for the connection (including at least adding "/sec:tls" as an additional option, and removing the "/media" that krdc always wants to mount even though it doesn't exist), and click OK. 3. Enter the username (for a computer using Microsoft account for authentication this is ".\AzureAD\<e-mail address>") 4. Enter password OBSERVED RESULT krdc launches an xfreerdp process with "/u:AzureAD" as a parameter, meaning is throws away part of the username. EXPECTED RESULT krdc launches an xfreerdp process with "/u:.\AzureAD\<e-mail address>" SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20231018 KDE Plasma Version: 5.27.8 KDE Frameworks Version: 5.110.0 Qt Version: 5.15.11 Kernel Version: 6.5.6-1-default (64-bit) Graphics Platform: X11 Processors: 16 × AMD Ryzen 7 5800X 8-Core Processor Memory: 62.7 Gibyte of RAM Graphics Processor: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 Manufacturer: ASUS
RDP plugin used to detect LDAP logins ( DOMAIN\user) and split them before invoking xfreerdp. In current version (24.11.70) this logic is gone and full username is always passed to libfreerdp login function. It should fix your usecase
I tried to test it, but I just get a login failure. I no longer see an additional options field where I can enter /sec:tls, which I think is required.