Configuring VNC for multiple clients on GCEMS
Synopsis
Â
The Dialogic Gate Control Element Management System (GCEMS) can be accessed remotely using the Virtual Network Computing (VNC) application.
By default Redhat will install with VNC (vncserver) not running as it is a potential security risk.
A single instance of vncserver can be started by logging in as the excelsw user and running the following command:
Â
vncserver :1
Â
This will start a single instance of vncserver as screen 1 (port 5901) and will prompt the user for a password, which in this case would be the password for the excelsw user.
To stop the vncserver process, log in as the excelsw user and use the command:
Â
vncserver –kill :1
Â
Limitations of this method of running VNC:
Unless you run and configure multiple 'screens', only one user can log in at a time.
Â
How to configure VNC to allow multiple users and different screen resolutions or color depths:
This article describes a method that allows multiple users to log in at a time using xinetd to run a new VNC instance whenever a connection is detected.Â
Different ports can be configured to give the user a different screen resolution or colour depth.
This allows multiple agents to log in through the same port and will give each a ‘fresh’ session. The agents can log in using the same username and password.
Solution
Â
xinetd must be installed as this is the tool we will use to monitor for external calls.
Â
Check if xinetd is installed with the command:
Â
whereis xinetd
Â
It should say that xinetd is installed in /usr/sbin/ or some similar directory.
The main configuration file for Xinetd is /etc/xinetd.conf. If we open this, we should check if there is a line like "only_from = localhost" that we should either comment out (with a #) or remove completely to allow access from outside.Â
It is also possible to modify this line with a space delimited list of hosts that we want to allow to access this machine.
An example xinetd.conf file looks like this:
Â
The next step is to tell xinetd which ports it should be monitoring and which service it maps to. We achieve this by adding entries to the /etc/services file.Â
The following example adds 15 services on consecutive tcp ports. These service instances are mapped to real VNC configurations in the next step.
The service name corresponds to the resolution and colour depth of the VNC instance which will run when you connect to the specified port. This allows us to choose the resolution/colour depth we want to run on a connection by connection basis:
Â
Â
Create (or edit) the /etc/xinetd.d/vncserver file. In fact, the filename does not matter as xinetd will simply load all files in /etc/xinetd.d but it makes sense to have the filename match what is contained inside. Each of the individual sections in this file is a mapping of service name from /etc/services to what is actually run when a connection is made. Make sure that there are no line breaks on the long "server_args" line.Â
This file will look like this to match the above /etc/services entries:
Â
Â
Assuming you are using the default "Gnome" windows manager, edit /etc/X11/gdm/gdm.conf to uncomment the following line:
Â
Â
Finally, make sure that the xinetd service starts automatically on bootup and restart it:
Â
Â
Â
You should now be able to point your VNC client at the IP address of the server with one of the port numbers configured above and get a normal "Gnome" login screen.
Â
Product List
Dialogic GateControl Element Management System (GCEMS) server running Redhat Linux ES 4
Â