Creative Training Solutions

Salix Training Limited

This page will describe how to install and configure VNC on Solaris 10

Installing and configuring VNC from the software companion CD

Solaris 10 can be downloaded from sun’s web site. Also available from the download pages is an image of a “Software Companion CD”.

This CD contains extra freeware products which can be added post-installation. One of these is the excellent Virtual Network Computing (VNC) package.

VNC allows remote desktop access to computers over a network. It can be used between Microsoft and Unix/Linux operating systems.

*UPDATE*
Solaris 10 Update 5 comes with VNC so no extra packages are required. Instructions for it’s configuration will appear here as soon as I get time to write them! Meantime, check
docs.sun.com.

 

For Update 4 or older, carry on….

Everything you need to setup VNC on Solaris is included in this zip file Here.

 

· Packages

· Install Script

· Configuration Script

· Video guide

 

Or follow these instructions to configure it for yourself....

Insert the Solaris Companion CD and allow the volume management daemon to mount it. There are three packages which are required. In this example they are converted into package datastreams on the hard disk:

 

# cd /cdrom/cdrom0/sparc/Packages

# pkgtrans . /opt/SFWgcmn.pkg SFWgcmn

# pkgtrans . /opt/SFWgcc34l.pkg SFWgcc341

# pkgtrans . /opt/SFWvnc.pkg SFWvnc

 

Add the three packages in the following order:

 

# cd /opt

# pkgadd -d  SFWgcmn.pkg

# pkgadd -d SFWgcc34l.pkg

# pkgadd -d SFWvnc.pkg

 

Xwindows is configured with text files under /usr/dt but these shouldn’t be modified, make copied of them under /etc/dt and modify the copies.

 

# mkdir -p /etc/dt/config

# cp /usr/dt/config/Xservers /etc/dt/config/

# cp /usr/dt/config/Xconfig /etc/dt/config/

# cp /usr/dt/config/Xsetup /etc/dt/config/

 

Edit the /etc/dt/config/Xservers to configure the extra connections to Xwindows. The :0 server is the default one which you log in to locally. In this example one extra connection is being configured:

 

# vi /etc/dt/config/Xservers

 

   :0   Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner

 

   :1   Local local_uid@console root /opt/sfw/bin/Xvnc :1 -httpd /opt/sfw/vnc/classes -depth 16 -geometry 1024x768 -r fbwait 120000 -rfbauth /opt/sfw/vnc/.vnc/passwd -rfbport 5901 -httpport 5801 -fp tcp/localhost:7100 -alwaysshared

 

 

There are only two lines in my example file, it has just word wrapped on this web page. Here are some of the important options:

 

-depth 16

This is the colour depth. An 8bit colour depth uses less network bandwidth but looks a bit blocky.

 

-geometry 1024x768

Choose whichever resolution you want. Yes, that is an “x” between the two numbers not an “*”.

 

-rfbport 5901

The port number for the client to connect to. Each different server must use a different port number. For example :1 uses 5901 and :2 could use 5902

 

-httpport 5801

You can point a web browser at the Unix host with this port number and get a java based connection to the Unix host. For example:

http://10.0.0.1:5801

 

Configure a password, this is prompted for before the user sees a login screen.

 

# HOME=/opt/sfw/vnc

# export HOME

# mkdir $HOME/.vnc

# /opt/sfw/bin/vncpasswd

Password:  password

Verify:  password

#

 

To enable vnc to start when dtlogin does, uncomment the Dtlogin*grabServer line in /etc/dt/config/Xconfig or do this sed command which will do the same thing:

 

# sed '/Dtlogin\*grabServer/s/^#//' /etc/dt/config/Xconfig >/tmp/Xconfig

# mv /tmp/Xconfig /etc/dt/config/Xconfig

 

This would work but the fonts will not be right. Add the font server to the /etc/inetd.conf and convert it into a new SMF managed network service:

 

# echo "fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs" >>/etc/inetd.conf

# inetconv

 

That should be it! I rebooted here but I think you should be able to get away with hupping the inetd and stopping and restarting dtlogin:

 

# pkill –HUP inetd

# /etc/init.d/dtlogin stop

# /etc/init.d/dtlogin start

 

Any time you change the /etc/dt/config/Xservers file, you will need to stop and restart dtlogin. In previous versions you could just /usr/dt/bin/dtlogin –reset but it doesn’t seem to work in Solaris 10.

 

Java Desktop

There is a bug which will prevent text being entered in terminal windows in the Java Desktop. This can be solved by modifying the file shown below:

# cd /etc/gconf/gconf.xml.defaults/apps/gnome_settings_daemon/keybindings/

# mv %gconf.xml %gconf.xml.orig

# vi %gconf.xml

 

<gconf>

        <entry name="volume_up" mtime="1110896708" type="string">

        <stringvalue></stringvalue>

        </entry>

        <entry name="volume_mute" mtime="1110896705" type="string">

        <stringvalue></stringvalue>

        </entry>

        <entry name="volume_down" mtime="1110896702" type="string">

        <stringvalue></stringvalue>

        </entry>

        <entry name="help" mtime="1110896698" type="string">

        <stringvalue></stringvalue>

        </entry>

</gconf>

 

The next time you log in to a Java Desktop, it will work.

 

 

Phone:    +44 (0)20 8144 6944

Fax:        +44 (0)870 913 0007

VNC on Solaris 10