Only in one of them do you get a step for expressly writing out a service template.
Questions:
From the computer’s point of view, is there an implicit default service template even when the human user did not write one out?
If yes to 1, what does that implicit default template look like? (I.e. what contents does it have in it?)
How could I see it? (I don’t mean link me a source, which you might do for question 2, but how could I get the computer to tell me which default template it was using? Perhaps there is a hidden file somewhere. Or the template does not exist as a file, but “in” the package tigervnc as it were, which the package could spill out on some particular command.)
As you can see, this is not a practical question. Just trying to understand. Thanks.
If an application is designed to run as a service - it provides the necessary unit files with the package.
pamac list --files tigervnc | grep '.service'
In the case with tigervnc - the package provides several binaries where a service file is provided for vncserver but none for x0vncserver.
In this case the service unit is a template because it requires a display argument. Not all service units requires arguments as can be seen from above automation examples.
Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things.
— Doug Gwyn
The two examples linked at your initial post is illustrating two ways of achieving different results.
The first is using vncserver and the predefined unit to create a secure connection to a dedicated display for one named user.
A second method uses x0vncserver and a custom service unit to connect screen :0 which allows anyone see what is going on.
You can check each package provided files with pkgfile. Example for tigervnc would be: pkgfile -l tigervnc
If you want to see specifics about vncserver provided files you can use: pkgfile -l tigervnc | grep vncserver
You will see the file /usr/lib/systemd/system/vncserver@.service is installed but not enabled by default, hence will not start. See above how to check if a service is enabled or not.
Check the content of that file with: cat /usr/lib/systemd/system/vncserver@.service
And you now know the defaults of it.