# gnome-remote-desktop
FYI https://www.phoronix.com/news/GNOME-RDP-Remote-Login
> So with that this feature is now in place for the March release of GNOME 46.
```mermaid
flowchart LR
subgraph RDP server
system/gnome-remote-desktop.service
user/gnome-remote-desktop.service
user/gnome-remote-desktop-headless.service
system/gnome-remote-desktop.service -.->|handover| user/gnome-remote-desktop-handover.service
end
system/gnome-remote-desktop.service ==> a[Virtual GDM] ==> |login| gnome-session ==> user/gnome-remote-desktop-handover.service
b([GDM]) -->|login| gnome-session
user/gnome-remote-desktop.service x--x|conflict| user/gnome-remote-desktop-headless.service
user/gnome-remote-desktop.service -.->|attached| gnome-session
user/gnome-remote-desktop-headless.service -.->|attached| gnome-session
c([RDP client]) -->|RDP login| system/gnome-remote-desktop.service & user/gnome-remote-desktop.service & user/gnome-remote-desktop-headless.service
d((User)) --> b & c
```
All of **system/gnome-remote-desktop.service**, **user/gnome-remote-desktop.service** and **user/gnome-remote-desktop-headless.service** will start a RDP server with its own username/password you configured.
**user/gnome-remote-desktop.service** acts like a `mirror mode` display attached to an existing gnome-session desktop environment, but there is no `MetaVendor` display that it just makes you see and/or operate the `Primary Display`.
**user/gnome-remote-desktop-headless.service** acts like a `extended mode` display attached to an existing gnome-session desktop environment, and there is a `MetaVendor` display is attached.

**system/gnome-remote-desktop.service** acts like a virual GDM after the RDP login, and you need to login the system with an existing account. **system/gnome-remote-desktop.service** can be used multiple times from different RDP clients, and then each RDP login will be handovered to individual gnome-session managed by **user/gnome-remote-desktop-handover.service**. It will use the `MetaVendor` display as the `Primary Display`.

All of **system/gnome-remote-desktop.service**, **user/gnome-remote-desktop.service** and **user/gnome-remote-desktop-headless.service** will use the RDP server default port number 3389. If **system/gnome-remote-desktop.service** is enabled, it will occupy the 3389 port. Then **user/gnome-remote-desktop.service** or **user/gnome-remote-desktop-headless.service** have to use other port number like 3390 and afterward.