---
# System prepended metadata

title: gnome-remote-desktop
tags: [GNOME]

---

# 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.

![built-in-extended](https://hackmd.io/_uploads/ryKL26orye.png)

**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`.

![virtual-extended](https://hackmd.io/_uploads/HytI3psryl.png)

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.