Menu

#217 vncd

open
nobody
None
5
2005-08-21
2004-01-26
No

How about a vnc daemon? I've heard of some setups that
cause a new vncserver to be spawned on connection, but
I don't exactly see any way to do this, not normally
anyway. It'd be nice to have a GDM or KDM inside a
newly spawned VNC for the user to log into; or simply
have the user supply his UN/PW when connecting to vncd
(shadow, not a special vnc password).

Here's how I think it should work:

- User connects to vncd on some port i.e. 31337
- vncd requests username and password (i.e. sshd)
- vncd authenticates the user against /etc/passwd and
/etc/shadow, and also makes sure they are in the vnc group
- vncd spawns a new Xvnc on a new display, connects
user to it
- New Xvnc reads the /etc/vncd/xstartup file ($HOME
must be interpreted as the user's home, so that the
sysadmin can force this to source $HOME/.vnc/xstartup
or whatever the user wants)
- If /etc/vncd/xstartup does not exist, it reads
~/.vnc/xstartup (as normal)
- When the X server dies--i.e. the windowmanager is
exited--the user is disconnected
- When the user is disconnected, the Xvnc and all
subprocesses get SIGTERM

This would take out the special vnc password from the
mix (it'd still be around on Windows, since vncd would
not be there) and make VNC better integrate with the
Unix environment while still integrating as well with
the Windows environment.

From what I hear, you can at least get the "spawn vnc
on connect" to work, but I don't know how it determines
what user is connecting, or even IF it determines what
user is connecting; and it's not extremely apparent how
to do this, so I assume it's a hack.

Discussion

  • Kris Raney

    Kris Raney - 2004-04-07

    Logged In: YES
    user_id=142076

    This feature would actually be better, IMO, if the Xvnc
    doesn't die on disconnect. One of my favorite VNC features
    is that the server's lifetime is not tied to my being
    connected to it. Great way for an ongoing application to
    float with me where I go.

    Instead, if a user logs in who already has a server running,
    they get reconnected to the same server.

    Lingering servers could die after a timeout, if so desired.

    I think a fairly simple daemon that spawns Xvnc with -inetd
    could get this working on the server side, provided the
    client is altered to be capable of doing a real (maybe PAM
    based?) login.

     
  • Konstantin Kaplinskiy

    • milestone: --> OS-specific improvements
     

Log in to post a comment.