1. inetd starts in.vncserver,
  2. in.vncserver launches Xvnc -inet in XDMCP mode,
  3. gdm requests user login, and on success spawns XvncPreSession
  4. XvncPreSession is responsible for finding a user's existing session, or starting a new session for the user (if [ -z "$PROCS" ];)
  5. XvncPreSession then stores the user's display number & user name in a temporary file
  6. XvncPreSession then kills Xvnc,
  7. in.vncserver gets back control at this point,
  8. in.vncserver will now try and read the temporary file created in step 5,
  9. in.vncserver reads the user's vncpasswd file, sends that to the connected client, and waits for the connection to resync,
  10. in.vncserver now connected to the user's vnc service on localhost
  11. and spends the rest of it's life shipping data back & forth between the client & their server.