Sorry for the delay. This got buried in my inbox. To clarify how
TurboVNC works, in order to set expectations:
The TurboVNC Server (and any Xvnc solution, really) is per-user, so when
you run /opt/TurboVNC/bin/vncserver, it creates a virtual X server that
runs under the user account that launched it. Each TurboVNC Server
instance uses a different X display number, so you can have many
different instances running on the same machine, each under a different
user account. For instance, user1's TurboVNC Server instance may be
using Display :1, user2's TurboVNC Server instance may be using Display
:2, etc. That's why you have to specify the display number when
connecting with the TurboVNC Viewer. Each display number corresponds to
a different TCP port on which the RFB server is listening.
If you are using PAM user/password authentication by default (configured
in /etc/turbovncserver-security.conf), then a particular TurboVNC Server
session will accept the Unix login credentials of the user that created
it. If you enable Access Control Lists by uncommenting
'enable-user-acl' in /etc/turbovncserver-security.conf, then the user
that started the TurboVNC Server session can grant other users access to
it for the purposes of collaboration (ACLs for a particular TurboVNC
Server session can be manipulated using /opt/TurboVNC/bin/vncpasswd.)
As far as launching a session only when a user logs in, that would
depend on what you mean by "logs in." You mean logging into a SSH
session? Otherwise, I'm confused as to how you expect it to work.