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 Responses to “Xvnc xinetd-based dynamic remote sessions”

  1. Tia Blaxland Says:

    Thank you very much for posting all of the great content! I am looking forward to checking out more.

  2. Major Carnoske Says:

    Have no words to describe what God is doing!! I just Praise Him for it!!

  3. Kelly Bivans Says:

    I just received this reply to a request to view a too good to be true’ flat in Oxford, looks as fishy as they come.. Beware!

Leave a Reply