VNC Server on Solaris for remote access to Display Manager
The generally supported method of remote access to the Unix Foxboro AW/WP V4.X (Solaris 2.5.1). There are 2 methods:
- XTerminal that connects to XDM on the AW/WP. This method runs the window manager on the AW/WP
- Log in to the AW/WP as IA and start a Display Manager
There are a number of issues with the Foxboro Display managers on X windows 1. The special Foxboro fonts must be available for the X Terminal 2. The X Terminal must be able to use the Save Unders and Backing Store. This facility is not currently supported on modern X Servers. 3. The Display Manager does not work correctly with more than 8bit colour.
An alternative to using the X Protocol is VNC. The AW/WP can host the X server in a known environment and clients connect to the server using the VNC protocol. The issues can all be addressed with this approach.
This approach can host as many sessions as the AW/WP has memory, CPU. The normal DM licenses still apply.
Note that VNC is linked against Xorg or XFree86. Modern versions also do not support Save Unders and Backing Store. You must find the VNC Server based on XFree86 3.3.x. The binaries for Solaris 2.5.1 based on XFree86 3.3.x, search for vnc-3.3.3r2_sun4_sosV_5.5.
Install the binaries on your AW/WP in the location of your choice, My examples install under /opt.
The method described works functionally identically to using an X Terminal that uses XDM.
Assuming the VNC binaries are installed under /opt/vnc
1. Create a file /opt/vnc/vnc.inetd with the following contents
#!/bin/sh exec /opt/vnc/Xvnc -inetd -once -query localhost \ -wm -geometry 1010x750 -depth 8 -dpi 100 -cc 3 \ -fp /usr/openwin/lib/X11/fonts/misc/,\ /usr/openwin/lib/X11/fonts/Speedo/,\ /usr/openwin/lib/X11/fonts/Type1/,\ /usr/openwin/lib/X11/fonts/75dpi/,\ /usr/openwin/lib/X11/fonts/100dpi/,\ /usr/fox/wp/fonts >>/var/tmp/vnc.log 2>&1
Note the settings for the VNC Server
- -depth 8 (256 colours)
- -geometry 1010×750 (open a window 1010×750)
- -cc 3 (Pseudocolor)
- -dpi 100 (Use 100 dots per inch)
- -wm ( Use backing store when mapped)
- -query localhost ( Use the localhost XDM )
- -once (the VNC process will die once the session ends)
Make the file executable
- chmod +x /opt/vnc/vnc.inetd
2. Add a connection port in /etc/services Add the following line to /etc/services
The port number 5955 equates to VNC port 55. The number can be changed to anything >5900, eg 5900 is VNC port 0 etc. 3. Add a service line into /etc/inetd.conf
vnc stream tcp nowait root /opt/vnc/vnc.inetd vnc.inetd
Tell inetd to re-read the inetd.conf file. In this case the inetd daemon is process 891. Substitute the correct PID.
# ps -ef | grep inetd root 891 1 0 Oct 04 ? 0:00 /usr/sbin/inetd -s # kill -HUP 891
The VNC client can be Windows, Solaris or Linux that connects to the VNC server and can be a recent version.
Point the VNC client to the AW/WP IP Address port 55. The Linux VNC client works best with the -UseLocalCursor=0 option, eg:
/usr/bin/vncviewer -UseLocalCursor=0 -WMDecorationHeight=0 -WMDecorationWidth=0 <fox IP Address>:55
The default VNC server on modern Linux is compiled against Xorg or XFree86 4.x. These are unsuitable for Foxboro display managers because they do not support ‘save unders …’ Search for a version of Xvnc that is based on XFree86 3.3.x.