Gnome Remote Desktop startup

Hi everyone!

Upon system boot, the gnome-remote-desktop service fails to initialize correctly. The grdctl output indicates the following:

cockpit@thinny-kvm-1:~$ sudo grdctl --system status
Init TPM credentials failed because No TPM device found, using GKeyFile as fallback.
Overall:
Unit status: active
RDP:
Status: enabled
Port: 3389
TLS certificate: /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/certificates/rdp-tls.crt
TLS fingerprint: 58:01:33:fd:3f:7b:ab:d3:fe:4b:93:f4:51:7a:5f:f4:d3:0e:62:c7:a6:06:ba:c2:b6:bb:38:98:2b:8d:6e:a8
TLS key: /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/certificates/rdp-tls.key
Username: (hidden)
Password: (hidden)

The journal logs reveal the following sequence:

Apr 21 08:41:31 thinny-kvm-1 systemd[1]: Starting gnome-remote-desktop.service - GNOME Remote Desktop…
░░ Subject: A start job for unit gnome-remote-desktop.service has begun execution
░░ Defined-By: systemd
░░ Support: https://wiki.rockylinux.org/rocky/support
░░
░░ A start job for unit gnome-remote-desktop.service has begun execution.
░░
░░ The job identifier is 468.
Apr 21 08:41:36 thinny-kvm-1 gnome-remote-de[1340]: Init TPM credentials failed because No TPM device found, using GKeyFile as fallback
Apr 21 08:41:36 thinny-kvm-1 systemd[1]: Started gnome-remote-desktop.service - GNOME Remote Desktop.
░░ Subject: A start job for unit gnome-remote-desktop.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://wiki.rockylinux.org/rocky/support
░░
░░ A start job for unit gnome-remote-desktop.service has finished successfully.
░░
░░ The job identifier is 468.
Apr 21 08:42:15 thinny-kvm-1 gnome-remote-de[1340]: Error calling `GetManagedObjects()` when name owner :1.28 for name org.gnome.DisplayManager came back: GDBus.Error:org.freedesktop.DBus.Err>
Apr 21 08:42:16 thinny-kvm-1 gnome-remote-de[1340]: RDP server started
cockpit@thinny-kvm-1:~$

When attempting to connect via Remmina, the application hangs, producing the following error:

This build is using [runtime-check] build options:

[WARN][com.freerdp.core.rdp] -[log_build_warn][0x55ddd77220b0]: *************************************************
[ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_init_context (Included profile directory could not be read [-1429577696])

However, executing systemctl restart gnome-remote-desktop resolves the issue:

cockpit@thinny-kvm-1:~$ sudo systemctl status gnome-remote-desktop
● gnome-remote-desktop.service - GNOME Remote Desktop
Loaded: loaded (/usr/lib/systemd/system/gnome-remote-desktop.service; enabled; preset: disabled)
Active: active (running) since Tue 2026-04-21 11:54:20 CEST; 6s ago
Invocation: 0ca731662f3d4573a2d19485d2aa8441
Main PID: 6023 (gnome-remote-de)
Tasks: 5 (limit: 98899)
Memory: 3.9M (peak: 9.4M)
CPU: 339ms
CGroup: /system.slice/gnome-remote-desktop.service
└─6023 /usr/libexec/gnome-remote-desktop-daemon --system

Apr 21 11:54:20 thinny-kvm-1 systemd[1]: Starting gnome-remote-desktop.service - GNOME Remote Desktop…
Apr 21 11:54:20 thinny-kvm-1 gnome-remote-de[6023]: Init TPM credentials failed because No TPM device found, using GKeyFile as fallback
Apr 21 11:54:20 thinny-kvm-1 systemd[1]: Started gnome-remote-desktop.service - GNOME Remote Desktop.
Apr 21 11:54:21 thinny-kvm-1 gnome-remote-de[6023]: RDP server started

Consequently, a manual restart of the gnome-remote-desktop daemon is required after every system boot.

What does systemctl get-default say? It should be graphical.target or else gnome-remote-desktop will not start automatically even if enabled.

The system boot in graphical mode :

cockpit@thinny-kvm-1:~$ sudo systemctl get-default
graphical.target

This is the error encountered when attempting to connect via Remmina:

[log_build_warn][0x55dfd80d1c80]: *************************************************
[1343:0000053f] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55dfd80d1c80]: This build is using [runtime-check] build options:
[1343:0000053f] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55dfd80d1c80]: * ‘WITH_VERBOSE_WINPR_ASSERT=ON’
[1343:0000053f] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55dfd80d1c80]:
[1343:0000053f] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55dfd80d1c80]: [runtime-check] build options might slow down the application

[ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_init_context (The included profile directory could not be read [-1429577696])
 - [rdp_set_error_info]: ERRINFO_CB_CONNECTION_CANCELLED [0x00010409]

Added in gnome-remote-desktop.service “After gdm.service

root@thinny-kvm-1:/etc/systemd/system/graphical.target.wants# cat gnome-remote-desktop.service
[Unit]
Description=GNOME Remote Desktop
After=gdm.service

[Service]
Type=dbus
User=gnome-remote-desktop
BusName=org.gnome.RemoteDesktop
ExecStart=/usr/libexec/gnome-remote-desktop-daemon --system
Restart=on-failure

[Install]
WantedBy=graphical.target

At boot the gnome-remote-desktop start after gdm and it works fine :

cockpit@thinny-kvm-1:~$ sudo systemctl status gnome-remote-desktop

● gnome-remote-desktop.service - GNOME Remote Desktop
Loaded: loaded (/usr/lib/systemd/system/gnome-remote-desktop.service; enabled; preset: disabled)
Active: active (running) since Thu 2026-04-23 11:53:59 CEST; 13min ago
Invocation: 50012ff89aa743a6bb3e87490473db02
Main PID: 1886 (gnome-remote-de)
Tasks: 4 (limit: 98899)
Memory: 12M (peak: 17.6M)
CPU: 393ms
CGroup: /system.slice/gnome-remote-desktop.service
└─1886 /usr/libexec/gnome-remote-desktop-daemon --system

Apr 23 11:53:56 thinny-kvm-1 systemd[1]: Starting gnome-remote-desktop.service - GNOME Remote Desktop…
Apr 23 11:53:59 thinny-kvm-1 gnome-remote-de[1886]: Init TPM credentials failed because No TPM device found, using GKeyFile as fallback
Apr 23 11:53:59 thinny-kvm-1 systemd[1]: Started gnome-remote-desktop.service - GNOME Remote Desktop.
Apr 23 11:53:59 thinny-kvm-1 gnome-remote-de[1886]: RDP server started

That’s what I wanted to mention next: There is a race condition involving gnome-remote-desktop. It worked for me on every second reboot or so, but I didn’t persue it any further. But now that we know the race is with gdm, I found this very recent upstream commit: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/commit/55f976492a7f2e6fb9b7ef011df46888d5f6b9ce. “When starting the system daemon, gnome-remote-desktop might be started before gdm starts or gdm fully initializes.” Your workaround fixes the “might be started before gdm starts” but doesn’t help for “or gdm fully initializes”. Still I copied your fix and it worked on 10 out of 10 reboots for me. :wink: