Systemd TightVNC multiusuario

Systemd TightVNC multiusuario

Es posible que esto ya haya sido respondido antes, pero si es así, mi foo de Google no es lo suficientemente fuerte como para encontrarlo. Estoy ejecutando un servidor TightVNC y quiero que varios usuarios se conecten a él. He encontrado la posibilidad de hacer esto con niveles de ejecución heredados con init.d, pero no con systemd.

He estado intentando crear un servicio del sistema con argumentos para iniciar el servicio para diferentes usuarios, en lugar de tener un script específico del usuario que ellos sean responsables de ejecutar, ya que quiero controlar los puertos y la ejecución.

Se me ocurrió lo siguiente, sin embargo, la declaración if no funciona. ¿Hay alguna manera de que pueda tener un único servicio como este? ¿O necesito duplicarlos para cada usuario?

Gracias.

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
if [ 1 == %i]; then
 User = user1
 Group = user1
 WorkingDirectory=/home/user1
 PIDFile = /home/user1/.vnc/%H:%i.pid
elif [2 == %i]; then
 User = user2
 Group = user2
 WorkingDirectory=/home/user2
 PIDFile = /home/user2/.vnc/%H:%i.pid
fi

ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

información relacionada