SunRay Setup Instructions

From Stormsail
Jump to navigation Jump to search

SunRay

http://wiki.sun-rays.org/index.php/How_To_Section#Solaris_11

http://www.eecis.udel.edu/~bmiller/blog/2010/04/05/windows-connector-and-grub-like-menu-for-sun-rays/

https://blogs.oracle.com/mplona/entry/customized_sun_ray_kiosk_sessions

# First check the current policy on the server
root@vdiserver:# /opt/SUNWut/sbin/utpolicy
# Current Policy:
-a -z both -k both -m -u pseudo
# Change the policy (-u both) to accept card and non-card OVDC sessions
root@vdiserver:# /opt/SUNWut/sbin/utpolicy -a -z both -k both -m -u both
# Restart authentication manager (needed for policy change)
root@vdiserver:# /opt/SUNWut/sbin/utrestart -c

how to build a SRSS 4 Posted on 2008/02/25 by Eric

http://blogs.sun.com/acworkma/entry/how_to_build_a_sun

Quick and dirty about how to get a Sun Ray server up and running for a proof of concept. Please note that while this will get things up and running, there are many items outside of the scope of this document that need to be taken into consideration for a full production enterprise deployment.

Get the goods The first step is to have an available server to install on. You will need a Solaris 10, Redhat or SUSE server. The directions here will be for installing on Solaris 10. Next you will need to download the software.

Install the Sun Ray Server Software The follow steps need to be executed as the root user of the system.

Extract the Zip:

  1. unzip srss_4.0_solaris.zip

Install Tomcat:

  1. cd srss_4.0/Supplemental/Apache_Tomcat/
  2. gzcat apache-tomcat-5.5.20.tar.gz | /usr/sfw/bin/gtar -xf -
  3. mv apache-tomcat-5.5.20 /opt/
  4. ln -s /opt/apache-tomcat-5.5.20/ /opt/apache-tomcat

Install Sun Ray Server Software:

  1. cd srss_4.0
  2. ./utinstall

Take all of the defaults

  1. reboot

Configure the Sun Ray Server Software:

  1. /opt/SUNWut/sbin/utconfig

Take all of the defaults except for: Enable remote server administration? (y/[n])? y Configure Sun Ray Kiosk Mode? (y/[n])? y

  1. reboot

Configure Parms files:

  1. mkdir /tftpboot
  2. vi /tftpboot/srssconfig

The file should look like the following: servers=

  1. /opt/SUNWut/sbin/utfwadm -A -a -V -i /tftpboot/srssconfig -f /opt/SUNWut/lib/firmware_gui

Turn on LAN connections:

  1. /opt/SUNWut/sbin/utadm -L on
  2. /opt/SUNWut/sbin/utrestart -c

At this point you have a basic Sun Ray server up and running. Any Sun Rays on the network should be displaying the Solaris log in and you should be able to log into your Solaris server through a Sun Ray.

Windows Terminal Server: One of the powerful things about the Sun Ray solution is how flexible it is. One of the things the Sun Ray solutions is really good at is displaying Windows Desktops. The following steps address how to modify your existing Sun Ray server to display windows desktops.

Install Windows connector:

Extract the Zip:

  1. unzip srwc_2.0_solaris.zip

Install the Connector: NOTE: There is a version mismatch if you are installing on Nevada instead of Solaris 10. ONLY TAKE THE FOLLOWING 2 STEPS IF YOU are ON Nevada:

  1. cd /usr/sfw/lib
  2. ln -s libcrypto.so.0.9.8 libcrypto.so.0.9.7

create a group for it

  1. groupadd utsrwc
  2. cd srwc_2.0
  3. ./installer
  4. /opt/SUNWuttsc/sbin/uttscadm -c
  5. /opt/SUNWut/sbin/utrestart -c

Configure Kiosk Mode: We will use the web interface for the Sun Ray server to configure the Sun Ray server to present windows desktops.

Log into your web admin port http://:1660 The username is admin and the password is the one you gave it during set up.

Click on the advanced tab:

Loghost - Sun Ray Administration-1

Then on the Kiosk Sub tab:

Loghost - Sun Ray Administration-2

You will see a message about no Kiosk Mode settings. Click the edit button on the right:

Loghost - Sun Ray Administration-3

Change the session drop down to Sun Ray Connectors for Windows OS In the arguments field add the name of your terminal server click on OK

Loghost - Sun Ray Administration-4

At this point you will have a kiosk mode defined and then you will need to tell the server when to use it. I personally run my demo’s with the window connector enabled for card sessions and the Solaris session displayed for non card users. This is accomplished by using the the System Policy to turn Kiosk Mode on for card users. Click on the System Policy Sub Tab on the Advanced Menu and then click on the enabled check box for Kiosk Mode under card users. Then click on the save button.

Loghost - Sun Ray Administration-5

At this point you will get a message saying the changes have been stored and you need to restart the server. Click on the link to switch to the servers tab.

Loghost - Sun Ray Administration-6

Select your server and click on cold restart Loghost - Sun Ray Administration-7

When the Sun Ray server restarts, you will now display a Solaris desktop with no card inserted, and a windows desktop with a card inserted.


Well thanks to your assistance this was really easy. For those who are interested this is what I did to get testing the new 'Sun Ray Connector for Windows'

First prepare Windows XP (Professional in this case)

1) Create a new (non-adminstrator) user for your testing purposes (or identify an existing non-administrator user)

2) Go to 'Control Panel' and select 'System' then click on the 'Remote' tab

3) Under 'Remote Desktop' click the box to 'Allow users to connect remotely to this computer'

4) Next click on the button 'Select Remote Users'

5) Click 'Add'... click 'Advanced'... click 'Find Now' and add your newly created user.

6) Get the IP address of your Windows machine

Next install the 'Sun Ray Connector for Windows' on your Sun Ray server (mine is Sol10U1 on x64 with SRSS3.1)

1) Download from http://www.sun.com/software/products/sr_connector/index.xml

2) Follow the installer instructions (which are not much more than ./installer and a utrestart plus possibly a patch)

3) Fire up /opt/SUNWuttsc/bin/uttsc <windows IP address>

4) Enjoy ;-)

Well done to the Sun engineers, it works a treat!

Regards, Rob.

Enable ICMP ping

-- https://blogs.oracle.com/joergb/entry/using_different_kiosk_sessions_for --

Using different Kiosk Sessions for different tokens By JörgB on Jun 26, 2009

Original Sun Ray Kiosk Mode or its predecessor CAM only allowed one Kiosk configuration that applied to all kiosk sessions on a server. Since SRSS 4.1 there is a little known feature that allows adding additional kiosk configurations and selecting one them based on the token.

Unfortunately configuring this feature currently requires using the utkiosk and utkioskoverride tools on the command line. This probably is the main reason why add-on solutions to do the same, like Daniel Cifuentes's Meta-Kiosk are still popular.

For those not afraid of the command line, here is a short how-to

   Create a kiosk session configuration.
   You first need to create a file (named UserSession.conf here, but you can freely choose a name) containing your kiosk session configuration. Of course you can simply create it as a text file, after reading the session.conf(4) man page. But if you prefer to use the SRSS Web Admin GUI for this step, you can do it as follows:
       Configure the session settings on the Edit Kiosk Session page
       If you are using the JDS desktop session, add the applications you want to see in the menu.
       Save your changes
       Get a root shell on one of the servers and use it to save the configuration to a file:
       # cd  # Make sure your are in a reasonable directory to store your configurations
       # PATH=${PATH}:/opt/SUNWut/sbin    # Save yourself (and me) some typing
       # utkiosk -e session -s > UserSession.conf
       If you have configured applications, also save the application list to a file:
       # utkiosk -e session -a > UserSessionApps.list
   Store your kiosk session configuration in the Sun Ray data store.
   You now need to store your configuration in SRDS, so it can be used for Sun Ray kiosk sessions. You can store each configuration under a name you choose. This example will use UserSession. Use a name that starts with a capital letter - all-lowercase names are reserved.
   If you don't need an application list, you can simply upload your UserSession.conf file like this:
   # utkiosk -i UserSession -f UserSession.conf
   If you did create an application list, the command looks like this:
   # utkiosk -i UserSession -f UserSession.conf -A UserSessionApps.list
   Configure individual tokens to use this kiosk session configuration.
   You now need to assign this configuration to selected tokens. I'll show this here for the imaginary CleverCard.0123456789 card token. You can assign kiosk setting to selected DTUs (when used without a smart card) in the same way.
       In order to apply special kiosk setting to the token, it needs to be registered (even if you don't use a "registered" access policy). If the token isn't registered yet, you can do this now without leaving the command line:
       # utuser -a "CleverCard.0123456789,localhost,0,John Doe,"
       Now you can assign the UserSession configuration to the token:
       # utkioskoverride -r CleverCard.0123456789 -s kiosk -c UserSession 
       Note: This will enable Kiosk Mode for this token, even if it isn't enabled globally.
       If you have stored multiple session configurations, you can view them using:
       # utkiosk -l
       session
       UserSession
       The session configuration is the default kiosk configuration, which is used for all kiosk session that haven't been assigned an override.


https://blogs.oracle.com/ThinkThin/entry/point_and_shoot_vdi1

Point and Shoot VDI By bhlackey on Mar 16, 2008

Certainly the most feature rich method to deliver VDI is through the use of a "broker" like the Sun Virtual Desktop Connector. This broker is then connected to VMWare Virtual Center and the combination of the two gives the environment all sorts of features like Pooling, VM Lifecycle management, one-to-one mapping, Dynamic Resource Scheduling, and VMotion.

Not all VDI environments need to have all of these features. Maybe the VM's aren't even hosted in VMWare, or maybe they're not even VM's at all as in the case with blade based PC's. Maybe there is no need for Pooling, just a one-to-one relationship. No need to manage the VM's they're already provisioned through another process.

I like to call this the "Point and Shoot" VDI architecture. It should be dead simple and easy to set up. It doesn't matter where the OS images are, just that they exist on the network and that we are going to assign one VM to one user. Here are the steps to do Point and Shoot VDI using Sun Rays.

NOTE: These examples are for SRSS 4.0

Example 1: VM's assigned to a user. The user is identified by their smart card. 1) Create the Kiosk Descriptor

   vi /etc/opt/SUNWkio/sessions/simple-vdi.conf
   KIOSK_SESSION_EXEC=$KIOSK_SESSION_DIR/start-vdi.sh
   KIOSK_SESSION_LABEL="Static Assigned VDI"
   KIOSK_SESSION_DESCRIPTION="Static VM Assignment"

2) Create the Session exec script

   mkdir /etc/opt/SUNWkio/sessions/simple-vdi
   vi /etc/opt/SUNWkio/sessions/simple-vdi/start-vdi.sh
   #!/bin/sh
    
   # Check for Card or Non-Card session
   case $SUN_SUNRAY_TOKEN in
        pseudo.\*)
             # Non-Card Session
             zenity --info --text="Please insert your smart card..."
             ;;
        \*)
             # Card Session
             # Read Other Info Field
             REG_OTHER=`/opt/SUNWut/sbin/utuser -o | \\
                  grep $SUN_SUNRAY_TOKEN | awk -F, '{print $5;}'`
             if [ "$REG_OTHER" = "" ]; then
                  zenity --error --text="This card has not been assigned a VM"
                  exit 1
             else
                  # Check for VM Availability
                  /usr/sbin/ping $REG_OTHER 2
                  if [ "$?" != "0" ]; then
                       zenity --error --text="VM $REG_OTHER is not available for connection."
                       exit 1
                  else
                       # Call uttsc Kiosk script with VM name
                       KIOSK_SESSION_DIR=/etc/opt/SUNWkio/sessions/uttsc
                       export KIOSK_SESSION_DIR
                       /etc/opt/SUNWkio/sessions/uttsc/uttsc $REG_OTHER
                  fi
             fi
             ;;
   esac
   #End
   chmod 755 /etc/opt/SUNWkio/sessions/simple-vdi/start-vdi.sh

3) Select Kiosk Mode Configuration

   Open SR Admin GUI
   Select Advanced->Kiosk
   Click Edit
   Select Static Assigned VDI from the Session type drop down.

4) Register Cards and assign VM name

   Admin GUI - Tokens Tab
   Search for currently used tokens.
   You may then pick the token and Edit that token's registration.
   You must assign a User Name. (This may be free form "Brad Lackey")
   Place the VMs DNS name in the Other Information Field.


Example 2: VM's assigned to a DTU. Identified by MAC Address

1) Setup exactly like Example 1, only with a different start-vdi.sh

   vi /etc/opt/SUNWkio/sessions/simple-vdi/start-vdi.sh
   #!/bin/sh
   if [ `uname` = Linux ] ; then
    theFlag="-P"
   fi
   theMACAddr=`cd $theFlag $UTDEVROOT ; /bin/pwd | sed 's/.\*\\(............\\)/\\1/'`
   theVM=`/opt/SUNWut/sbin/utdesktop -o | \\
               grep $theMACAddr | \\
               /usr/bin/awk -F, '{print $2;}'`
   if [ "$theVM" != "" ] ; then
        # Check for VM Availability
        /usr/sbin/ping $theVM 2
        if [ "$?" != "0" ]; then
             zenity --error --text="VM $REG_OTHER is not available for connection."
             exit 1
        fi
        # Call uttsc Kiosk script with VM name
        KIOSK_SESSION_DIR=/etc/opt/SUNWkio/sessions/uttsc
        export KIOSK_SESSION_DIR
        /etc/opt/SUNWkio/sessions/uttsc/uttsc $theVM
   else
        zenity --error --text="This Sun Ray has not been assigned a VM."
        exit 1
   fi

2) Register Desktop and assign VM name

   Admin GUI - Desktops Tab
   Search for currently connected Desktops.
   You may then pick the Desktop and Edit that it's registration.
   Place the VMs DNS name in the Location Field.


https://blogs.oracle.com/danielc/entry/meta_kiosk_how_to_run

Meta Kiosk: How to run multiple different types of kiosk modes on a Sun Ray Server/FOG By vdiozguy on Feb 06, 2009

"One Kiosk to Rule Them All"...

One of the coolest features of the Sun Ray platform is "Kiosk Mode". Sadly, it typically only gets associated with running a "Library" type locked down session with a web browser, or when a Windows deployment takes advantage of it to deliver Windows based sessions, be it from Terminal Services or VDI.

It is very common in demo environments and even in many production environments to have the need of presenting multiple different types of Kiosks served from the same infrastructure, which can be easily achieved by associating the token presented to the Sun Ray to the particular context required for the token. For example, you may want a number of users to get a session from a Windows Terminal Server, some others to get a Linux desktop, some users to leverage a VDI desktop, some Sun Rays in public areas to present a controlled desktop with a web browser for leasurely access and a Sun Ray in the foyer permanently running a presentation to a large LCD display. And of course, the administrator may want access to his Windows Vista desktop on a casual basis without having to rely on the Sun VDI broker. All of this from the Sun Ray Server or FOG.

In my experience, it has been mighty useful to have a fixed framework I can use at PoCs and demos for a variety of things. The piece of work presented here is an aggregation of some of the work that grew from a requirement at a large PoC in South Australia when Sun VDi wasn't around and also from the current demo environment shown to customers at the Sydney Sun Solution Centre. There is a WOW factor that still grips the imagination of most people when they see the Sun Ray platform in full action. I mean, who's ever seen a handful of different desktops presented on the same screen in less than 10 seconds???

The purpose of this "Meta Kiosk" (or Kiosk Broker) is to provide multiple kiosk capabilities to the Sun Ray platform, which is typically constrained by the use of a single kiosk mode across the board. One day, Engineering may give me a pull down in the Token Administration GUI for me to choose what the token is supposed to do, but for now, this is the next best thing.

So, how does this "Meta Kiosk" come together? Meta Kiosk leverages the "Other Info" field of any token (a smartcard ora pseudo token of a Sun Ray) by letting you specify a string to identify what type of session that token is entitled to, for example UTTSC, JDSKIOSK, VDA, VDANOCARD, VNC, etc. Additionally, you can specify a default kiosk mode for non-registered tokens, by changing the UNREG_TOKEN_ACTION variable in the script. After the script decides what Kiosk the token is entitled to, it actually instantiates that particular kiosk mode, as if it had been called naturally by the Sun Ray kiosk framework. Should the first string in the "Other Info" field not be recognised, the action indicated by the variable DEFAULT_ACTION will be undertaken (which can also modify. DEFAULT_ACTION for registered tokens in the script is to use VDA, which is convenient as the VDA script also makes use of this field as the placeholder for the poolname the token owner is entitled to from the available SOE pools.

The only caveat to this is that typically, the arguments passed to the kiosk session are defined in the Sun Ray Admin GUI setup for the system-wide kiosk mode you choose, but since Meta Kiosk calls upon a large number of kiosks itself, this is no longer useful. To work around this, the script assumes that the parameteres you want for a specific kiosk mode are actually contained in the relevant "kiosk.conf file for that particular kiosk, typically found in /etc/opt/SUNWkio/sessions. For example, if I wanted to enable Full Screen to all the uttsc kiosk sessions, I would simply edit /etc/opt/SUNWkio/sessions/uttsc.conf and type something like KIOSK_SESSION_ARGS="-t 1800 -- -m mywindowsterminalserver".

What options can I enter in the "Other Info" field of a Sun Ray token? Below are the different options available "out of the box" with the present release of Meta Kiosk, along with some of the features, that you can specify in the "Other Info" field of your tokens - and don't forget you can add any of your own easily by editing the script at /etc/opt/SUNWkio/sessions/meta-kiosk/meta-kiosk-session (and if you do and you consider it useful, please share it with me!):

JDSKIOSK: for the traditional Solaris based locked down Sun Ray kiosk mode "Other Info" field specs: JDSKIOSK

UTTSC: to make a call upon a specified Windows (or RDP capable) system, whether it is a physical PC, a VM, a WTS or a session directory server or the console of a VirtualBox VM with VRDP... "Other Info" field specs: UTTSC [username [target system]] UTTSC can leverage the main system name passed in the uttsc.conf file, presented as the last field of KIOSK_SESSION_ARGS. If username is present, then this name will appear in the login box (where possible). If "target system" is specified this field will be stripped from the uttsc.conf definition and replaced by that found at "Other Info". Note that when you configure the uttsc kiosk mode, it is expected that you enter a system name at the end of the string. As such, Meta Kiosk expects this too.

VDA: In case you need or want to register it. Note that the script will treat this as the default mode for any \*registered\* token anyway. "Other Info" field specs: VDA the VDA kiosk script will later re-read and interpret this field as a pool name, so typing any parameters would be useless! If this is used with VDA, then a default pool called VDA can be setup, unless you have already assigned the username a permanent virtual machine.

VDANOCARD: In case you need or want to register an existing token or pseudo-token to use Dirk Grobler's "Non Card VDI for Sun Ray". "Other Info" field specs: VDANOCARD

VDM: In case you want to use VMware's broker in your environment separately. You will need to download the Sun Ray connector for VMware Virtual Desktop Manager and install it (guess what - it's a kiosk mode too!) "Other Info" field specs: VDM

The next options are not not defined typically as kiosks. Their code is contained within the Meta Kiosk script itself:

VNC: Experimental at this point, useful mostly for MACs (not that you couldn't use with Solaris/Linux or even Windows), by way of leveraging a VNC server or similar (the builtin ARD server does NOT work with standard VMC clients) "Other Info" field specs: VNC [system-name [password]] Both parameters are optional, although you can't specify password if you don't specify a system name. Password will get written to a file and then the argument passed through, and although this is not dramatically secure, it allows for a quick demo of a MAC on a Sun Ray. A good VNC server to use is Vine. You may need to pass the port to the VNC service on the server as part of the system name, e.g. mymac:5901

APPLICATION: Let's you run a specified Solaris app, but take heed, there will be no Window manager for it. Otherwise, simply use JDSKIOSK and specify the app there. "Other Info" field specs: APPLICATION command-name <parameters> For example, you could run a full screen presentation on a dedicated Sun Ray like this, like we do at the foyer of the Sydney Sun Solution Centre: APPLICATION /usr/bin/staroffice -invisible - nologo -show /presentations/sunray-presso.od

UTSWITCH: Need a token to get redirected without AMHG? This is it! "Other Info" field specs: UTSWITCH sunray-server-hostname Beware that the Sun Ray will remain attached to that other Sun Ray server when you pull the smartcard or disconnect the session, so it's important to remember to STOP-A the Sun Ray at the end of the session.

X11: An Xsession. This will run Xnest within the Sun Ray X session canvas. "Other Info" field specs: X11 servername [geometry] NOTE: On your Sun Ray server, you may have to execute this: chmod 04755 /usr/openwin/bin/Xnest ulness Xephyr is available.

XTERM: An X term (xterm) on the Sun Ray server. Good for testing! "Other Info" field specs: XTERM It also starts twm as the window manager. Just good to have...

Meta Kiosk Workflow - how does a kiosk mode get chosen? The following diagram depicts the default actions chosen by the script based on the token conditions, i.e. Token registered or not and "Other Info" field contents:


Putting it all into action The requirements are quite simple:


   DOWNLOAD "Meta Kiosk" (TAR file)
   Unpack the downloaded file on a Solaris Sun Ray server: the files are created from the root directory, straight into /etc/opt/SUNWkio/sessions.
   Under the Sun Ray Web Admin go to Advanced -> Kiosk Mode.
   Choose "Meta Kiosk Broker Session" from the kiosk options pull down.
   Pick any Solaris apps you desire to run under the JDS kiosk mode (if at all) as part of the Meta Kiosk, instead of JDS.
   For EACH and ALL kiosk modes you will be employing that requires it, make sure you edit the associated ".conf" file in /etc/opt/SUNWkio/sessions and include the parameters you want to regularly use: simply type them in for that kiosk mode under KIOSK_SESSION_ARGS (see example above for UTTSC.)
   Pick the default action you desire for unregistered tokens (if your policy allows) by editing /etc/opt/SUNWkio/sessions/meta-kiosk/meta-kiosk-session and assigning it to UNREG_TOKEN_ACTION (see Flow Chart above.)
   NOTE: By default the script assumes that unregistered tokens get JDSKIOSK as the default, and if this is what you want, make sure you specify something like Firefox as a Critical app under the Meta Kiosk app pane.
   Pick the default action you desire for registered tokens that do not present an identifiable string in "Other Info" by editing /etc/opt/SUNWkio/sessions/meta-kiosk/meta-kiosk-session and assigning it to DEFAULT_ACTION (see Flow Chart above.)
   NOTE: By default the script assumes this to be VDA, the Sun VDI broker
   Don't forget you need to have the token registered AND set as a Kiosk token for any of this to work.
   If you want to assign a kiosk mode to a Sun Ray without using  a smartcard, simply register the pseudo token of the Sun Ray through the Web Admin GUI. The token is always "pseudo.<MAC address>" of the Sun Ray you need. This is often done under VDA to present the same Windows VM to the same person at the same desk all the time (much like ... your PC.)


http://www.eecis.udel.edu/~bmiller/blog/2010/04/05/windows-connector-and-grub-like-menu-for-sun-rays/


Windows connector and Grub-like menu for Sun Rays

I recently investigated setting up Sun Rays using kiosk mode using the Windows Sun Ray connector. Using the connector from Solaris is pretty easy as the client program utssc is basically an RDP client. Actually, rdesktop could also be used from Solaris in the same way. However, I had to set up kiosk mode so the Sun Ray would go directly to a Windows server. I followed the docs on setting up kiosk mode (utconfig -k, it kept failing until I ran it under truss then it succeeded…). Most of the docs talk about using a GUI, which I do not use and setting up kiosk for smart cards or non smart card users, etc. What I need to do was set up one specific Sun Ray to use kiosk mode, which was a little harder to find. To do that I ran the following:

/opt/SUNWut/sbin/utkioskoverride -s kiosk -r pseudo.TOKEN -c uttsc

Where TOKEN is the mac address for the specific Sun Ray. I also had to run ‘utkiosk -i uttsc -f uttsc.conf’ In uttsc.conf I had to add KIOSK_SESSION=uttsc and of course change KIOSK_SESSION_ARGS to set the Windows server to connect to. This took me a little while to get used to, but it worked well. I found this web site useful.

Then I was tasked to come up with a grub-like menu so users could select Solaris (or Linux) or Windows. This was a bit more work. Most of the solutions seem to talk about using the GUI and having the Sun Ray admin put things in to change what the Sun Ray does for different tokens. I ended up taking ideas from two implementations to come up with a solution that provides a grub-like menu for Sun Rays.

One site that is recommended is http://blogs.sun.com/danielc/entry/meta_kiosk_how_to_run on “Meta Kiosk” which I looked at and it gave me the idea of using Xephyr. I also found http://blogs.sun.com/mplona/entry/customized_sun_ray_kiosk_sessions which gave me the idea of using zenity and gave some code to follow (I looked at menu2). Neither solution did what I wanted so I wrote my own kiosk session script. My proof-of-concept so far is much smaller than those solutions, but seems to work for me. Here is my script:

  1. !/bin/sh
  2. install this as /etc/opt/SUNWkio/sessions/menu/menu
  1. Add a line to set the background image, then display the menu

choice=`/usr/bin/zenity --width=200 --height=200 --list --column "Select Operating System" "Solaris" "Windows"`

case "${choice}" in

   "Solaris")
    # This part was inspired by meta-kiosk-session's run-X11-session
    # set servername of course
    display=0
    while [ $display -ne 256 ]
    do
      display=`expr $display + 1`
      /usr/X11/bin/Xephyr :${display} -once -query ${servername} -fullscreen
      if [ $? -ne 1 ]
      then
        exit
      fi
    done
    ;;
   "Windows")
   # Need KIOSK_SESSION_ARGS set correctly for server to connect to
    . /etc/opt/SUNWkio/sessions/uttsc/uttsc
    exit
   ;;
esac

This can be used to connect to any Solaris or Linux system that would accept the X11 connection. So instead of listing Operating systems maybe you would want to list several hosts for example.

I called this the menu config and then changed the Sun Ray from using uttsc to menu with utkioskoverride. The script goes in /etc/opt/SUNWkio/sessions/menu/ and the following goes in /etc/opt/SUNWkio/sessions/menu.conf

KIOSK_SESSION=menu

KIOSK_SESSION_LIMIT_VMSIZE=2000000

KIOSK_SESSION_ARGS=-t 1800 -- -r sound:low SERVERNAME

KIOSK_SESSION_EXEC=$KIOSK_SESSION_DIR/menu

I also loaded that file with ‘utkiosk -i menu -f menu.conf’. And it works. It presents a little menu where you can select and then what is put in the case statement runs. I then specified some other Sun Rays to run in kiosk mode using this session config and they are being tested. One bug found so far is that sound doesn’t work. Also, USB devices do not really work using this approach. For example, plugging in a USB key drive the drive gets mounted by the random untrusted kiosk user and the user that logs on through Xephyr doesn’t have permission to it (maybe a work around exists for that?). But if those things are not important and you and have the need for a grub-like menu to select the OS on a Sun Ray it seems to do the job.

I tested this on a Sun Ray server runing SXCE b111 with version 4.1 of the SunRay server software and version 2.1 of the windows connector (SRWC).