Tigervnc server deactivates immediately when run through systemd but works when run manually

Hello, I’m having some trouble trying to get tigervnc to start using systemd.

I’ve copied the systemd unit file like so:

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

I haven’t modified the unit file from the default:

Description=Remote desktop service (VNC)
After=syslog.target network.target systemd-user-sessions.service

ExecStartPre=+/usr/libexec/vncsession-restore %i
ExecStart=/usr/libexec/vncsession-start %i


I’ve added my user into /etc/tigervnc/vncserver.users

My ~/.vnc/config looks like this:


I’ve got my password set up.

When I run sudo systemctl start vncserver@:1 it returns without printing anything to stdout/stderr and has a 0 return code. I can see the following in journalctl -u vncserver:

Jun 12 07:20:13 fedora systemd[1]: Starting vncserver@:1.service - Remote desktop service (VNC)...
Jun 12 07:20:13 fedora systemd[1]: Started vncserver@:1.service - Remote desktop service (VNC).
Jun 12 07:20:13 fedora systemd[1]: vncserver@:1.service: Deactivated successfully.

No log file is created in ~/.vnc when this happens.

Interestingly, when I manually run sudo /usr/libexec/vncsession-start :1 everything works correctly and I can connect to the VNC session.

I’m not sure how to track down the issue here because there is no log file and journalctl doesn’t provide much info, but it seems to be systemd related maybe?

The Fedora wiki is outdated and unconventional.
It works fine when configured using the upstream documentation:
I'm trying to run a remote desktop without monitor but i cannot find out how it works - #4 by vgaetera