VNC over inetd with gdm - number of session limitation

There are a lot of pages about setting up vnc over inetd.  I had been running such a setup for years with 10 - 20 simultaneous sessions being commonplace, but an upgrade of the server to ubuntu 9.4 broke my configuration.  Eventually all but one problem had been worked out by poking around the changelogs, reading a few man pages and using the standard net searches.  That problem was that only 2 simultaneous sessions were supported.  The fix was in the gdm configuration.  Here are a few more details to see if your problem is from the same cause.

  - vnc over inetd is working for 2 sessions (gdm login screen comes up)   - any more than 2 sessions and those additional sessions never launch even a gray screen (before gdm login).   - messages like “end of stream” or “connection refused” may be seen depending on how you launch your viewer.   - if you kill one of the 2 working sessions, another session (independent of machine location) will become available in about 20 seconds.   - tests or debugging will show that inetd is launching Xvnc but that is terminating.   The above told me that there was a limit imposed someware on the total number of sessions and it wasn't inetd's fault. The fact that the limit was independent of the sessions being local (tunneled over ssh) or from a vnc terminal on the local network and that no matter were it came from I could get 2 sessions going before it would stop got me out of looking at /etc/hosts.allow or similar places for a solution.

The thing that fixed it was adding a “DisplaysPerHost=XX” line to the /etc/gdm/gdm.conf-custom file in the [xdmcp] section were “XX” is the number of sessions you want to support.  So if you wanted to support 16 simultaneous vnc sessions it would look something like this:



If you use the graphical setup tool gdmsetup (/usr/sbin/gdmsetup) you get on the ``Remote`` tab, ``Configure XDMCP`` button.  There you will see the option “Displays per host”  that is what you need to change.  Even though it looks like you would want “Maximum remote sessions”.  Remember, these are vnc sessions, so as far as gdm knows they are all on the local host.

Anyway, that is what solved my problem.  Hope this helps.

-Greg  — Greg Priest-Dorman 2009/09/11 14:12