Friday, January 30, 2009

Config VNC server OpenSolaris

A Simple VNC Server and GDM Configuration Example for OpenSolaris 2008.05

My requirement was to be able to connect my VNC client to a system running OpenSolaris 2008.05 and to be able to login as root. I have now done this successfully on a system running the original OpenSolaris 2008.05 binary distribution and on a system running OpenSolaris 2008.05 after I ran a full image update to snv_91.

Update September 19th 2008: This procedure does not work if you have updated the image to snv_97 but does work if you update the image to snv_98. The upgrade from snv_97 to snv_98 wiped out the entries I had made in /etc/X11/gdm/custom.conf so I had to make those again. I have added an extra step at the end, based on Chris Drake's comments, to make the VNS server session persist if you exit the client.

1. Check that the VNC Server is Installed

This should be present as it is part of the 2008.05 binary distribution, but I checked anyway.

# pkg info SUNWxvnc
Name: SUNWxvnc
Summary: X11/VNC server
State: Installed
Authority: opensolaris.org (preferred)
Version: 4.1.2
Build Release: 5.11
Branch: 0.91
Packaging Date: Fri Jun 13 17:49:25 2008
Size: 6.3 MB
FMRI: pkg:/SUNWxvnc@4.1.2,5.11-0.91:20080613T174925Z

2. Add this line to /etc/services

vnc-server 5900/tcp # Xvnc

3. Edit /etc/X11/gdm/custom.conf as below

[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true

4. Enable the Services

# svcadm enable xvnc-inetd
# svcs xvnc-inetd
STATE STIME FMRI
online 16:22:30 svc:/application/x11/xvnc-inetd:default
# svcadm enable gdm
# svcs gdm
STATE STIME FMRI
online 14:43:13 svc:/application/graphical-login/gdm:default

5. Connect to the Display with a VNC Client

You should now be able to connect to :5900 and you should see the gdm login screen.

If you cannot connect, try stopping & starting the services:

# svcadm disable xvnc-inetd gdm
# svcadm enable xvnc-inetd gdm

6. Making the Session Persist

This may or may not be desirable for you, but if you want the VNC session to persist if you exit the VNC client then do the following:

# svccfg -s xvnc-inetd

svc:/application/x11/xvnc-inetd> editprop

This take you into a vi session. Look for the line...

#setprop inetd/wait = boolean: false

Copy the line, uncomment it and set it to true. Save the file, exit svccfg and run the command...

# svcadm refresh xvnc-inetd

Connect again with you VNC client. Now, when you exit/kill the VNC client, the session on the server will persist and you will be able to connect to it again.

You may now want to add an extra level of security to enable password protection on your VNC server. That is something that I have been unable to make work...and from searching around, it seems that others have a similar problem.
Download mp3 codec for GStreamer

http://www.fluendo.com/shop


Etract file fluendo-mp3-7.solaris-intel.tar.bz2

Create new folder .gstreamer-0.10/plugins
Copy all file from codec dir to plugins

That's all

Sound Driver for OpenSolaris

Download it at here

http://www.opensound.com/download.cgi

Good luck!

Install Vietnamese input method with OpenSolaris

Install SCIM from Package Manager (select all - recommend)

Download

http://www.esnips.com/doc/c05f6a11-563e-4906-9c1a-2ed124cb4aae/scim-tables-vietnamese-ext-0.5.6-16-bin.tar

Extract it, then copy 2 file vi.bin and telex.bin into /usr/share/scim/tables

Then reload scim, choose IMEngine/Global Setup/Disable All, then expand Vietnamese, tick VNI or Telex, expand Others, tick English

Then Apply, OK

Open terminal, type:
#gedit .profile

Add the line: export GTK_IM_MODULE=scim

Save file, then log out

Log on again. You can see system tray icon of SCIM

Open inputable application, left click icon SCIM, choose VNI or TELEX

That's ok

Good luck!