Xvnc xinetd-based dynamic remote sessions

To allow for remote, Xvnc-based sessions from the network to a Linux machine using vncserver, we can leverage the xinetd infrastructure to dynamically, and on-demand, spawning Xvnc servers for incoming remote connections. To do so, create a file named /etc/xinetd.d/xvncserver:

  # cat > /etc/xinetd.d/xvncserver
  service vnc
  {
    protocol    = tcp
    socket_type = stream
    wait        = no
    user        = nobody
    server      = /usr/bin/Xvnc
    server_args = -inetd -query localhost -once 
                  -geometry 800x600 -depth 16 
                  -desktop fab.felipe-alfaro.com 
                  -securitytypes=none
  }

Then, add the following line to file /etc/services:

  vnc             5901/tcp

Port 5901/tcp corresponds to the first display of an VNC server, that is, display :1. Thus, when using the vncviewer client, the :1 parameter must be passed to specify this display.

The last step is to restart the xinetd daemon by running:

  # service xinetd restart

NOTE: For this to work, XDCMP support must be enabled for XDM/GDM/KDM or whatever login manager is being used. This is due to Xvnc using -query localhost in order to present a login screen.

3 thoughts on “Xvnc xinetd-based dynamic remote sessions

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s