Você pode executar o VNC a partir do daemon inetd . A página man do Xvnc (1) do RealVNC tem uma seção intitulada "USAGE WITH INETD" que deve ajudar você a fazer o que quiser, por exemplo Ative os servidores Xvnc sob demanda e mate as sessões do Xvnc quando elas estiverem fechadas.
Você também pode querer verificar sua distribuição específica. Algumas distribuições do Linux têm suporte explícito para executar o VNC fora do inetd. O Fedora e a Red Hat costumavam estar entre eles, mas como eu não uso mais nenhum deles, não tenho certeza se isso continua sendo o caso.
De qualquer forma, isso deve definitivamente levá-lo apontado na direção certa.