Friday Aug 31, 2007

For quite a while I run a Sun Ray environment at home. Recently I had to replace my SuSE 9.3 host with newer hardware. I installed openSUSE 10.2 on the new server. The only drawback is that the Sun Ray Server Software is not supported on openSUSE 10.2.
It took me a while to figure out how to install SRSS 4.0 on openSUSE 10.2. Thanks to Jörg who pointed me in the right direction I now have the Sun Ray Server Software 4 running on my system.

Here an overview of the installation process of the completely unsupported configuration:

  • First, I got rid of the ksh package and installed pdksh.
    rpm -e ksh-93r-41
    rpm -i pdksh-5.2.14-822.i586.rpm
    I downloaded the package from http://lisa.gov.pt/ftp/suse/update/10.2/rpm/i586/, but it should be available on every openSUSE mirror.

  • Then I enabled LDAP and tftp in yast2:
    ldap has to be enabled at System->System Services (Runlevel) and
    tftp must be switched on at Network Services->Network Services (xinetd).

  • Before I uninstalled the gdm packages and replaced it with the gdm packages which come with the SRSS 4.0 software, I saved the file /usr/share/xsessions/gnome.desktop for later.
    cp /usr/share/xsessions/gnome.desktop /usr/share/xsessions/gnome.desktop.original
    rpm -e gdm-2.16.1-36.4
    rpm -i --force --nodeps GDM_2.4.4.7.2/Linux/Packages/gdm-2.4.4.7.2-10.i386.rpm

  • Now I had to save /etc/X11/gdm/Xsession in order to use it later
    cp /etc/X11/gdm/Xsession /etc/X11/gdm/Xsession.original
    
  • and set a couple of links
    ln -s /usr/share/X11 /usr/X11R6/lib/X11
    ln -s /usr/lib/xserver /usr/X11R6/lib/X11/xserver
    ln -s /usr/bin/Xorg /usr/X11R6/bin/X
    ln -s /usr/bin/xdpyinfo /usr/X11R6/bin/xdpyinfo
    ln -s /usr/bin/xrdb /usr/X11R6/bin/xrdb
    ln -s /usr/bin/xset /usr/X11R6/bin/xset
    
    ln -s /usr/lib/liblber.so /usr/lib/liblber.so.199
    ln -s /usr/lib/libldap.so /usr/lib/libldap.so.199
    
At this point I installed SRSS 4.0 with utinstall. It was very important not to reboot the server until a couple more things were done.

  • First I switched back to the newer gdm packages and replaced gnome.desktop and Xsession with their original files
    rpm -e gdm-2.4.4.7.2-10
    rpm -i gdm-2.16.1-36.4.i586.rpm
    cp /usr/share/xsessions/gnome.desktop.original /usr/share/xsessions/gnome.desktop
    cp /etc/X11/gdm/Xsession.original /etc/X11/gdm/Xsession
    
  • installed Apache Tomcat:
    tar xzf Supplemental/Apache_Tomcat/apache-tomcat-5.5.20.tar.gz
    
  • set a couple of links for the GDM to work with SRSS
    ln -s /opt/gnome/share/pixmaps /usr/share/pixmaps/gnome
    ln -s /opt/gnome/bin/gdmdynamic /usr/bin/gdmdynamic
    
    mv /opt/gnome/lib/gdm/gdmlogin /opt/gnome/lib/gdm/gdmlogin.original
    ln -s /opt/gnome/lib/gdm/gdmgreeter /opt/gnome/lib/gdm/gdmlogin
    
  • changed one line in files /etc/opt/SUNWut/xmgr/notify and /etc/opt/SUNWut/xmgr/reset-dpy
    12c12
    < DMNAME=gdm-binary
    ---
    > DMNAME=gdm
    
  • copied file /etc/X11/gdm/gdm.conf.rpmsave to /etc/opt/gnome/gdm/gdm.conf
    cp /etc/X11/gdm/gdm.conf.rpmsave /etc/opt/gnome/gdm/gdm.conf
  • and adjusted /etc/opt/gnome/gdm/gdm.conf to work with SRSS 4.0
    patch /etc/opt/gnome/gdm/gdm.conf < patch-gdm.conf
    patch-gdm.conf:
    40c40
    < Configurator=/usr/bin/gdmsetup --disable-sound --disable-crash-dialog
    ---
    > Configurator=/opt/gnome/sbin/gdmsetup --disable-sound --disable-crash-dialog
    43c43
    < Chooser=/usr/bin/gdmchooser
    ---
    > Chooser=/opt/gnome/lib/gdm/gdmchooser
    46c46
    < Greeter=/usr/bin/gdmgreeter
    ---
    > Greeter=/opt/gnome/lib/gdm/gdmgreeter
    49c49
    < RemoteGreeter=/usr/bin/gdmlogin
    ---
    > RemoteGreeter=/opt/gnome/lib/gdm/gdmlogin
    99c99
    < ServAuthDir=/var/gdm
    ---
    > ServAuthDir=/var/lib/gdm
    133a134,135
    > # SunRay access
    > DynamicXServers=true
    240c242
    < LocaleFile=/etc/X11/gdm/locale.alias
    ---
    > LocaleFile=/usr/share/locale/locale.alias
    309,310c311,312
    < GraphicalTheme=circles
    < GraphicalThemeDir=/usr/share/gdm/themes/
    ---
    > GraphicalTheme=GDM-SuSE
    > GraphicalThemeDir=/opt/gnome/share/gdm/themes
    
  • To make life easier I added
    export PATH=$PATH:/opt/SUNWut/sbin:/opt/SUNWut/bin
    to my ~/.bashrc file
  • Eventually I only had to reboot and configure SRSS 4.0 with
    # utconfig
    # utadm -a eth1
    # utadm -L on
    # utrestart
    

I ran into some pitfalls on my way:

  • I needed some time to find out why the DTUs were not connecting to the server. I only got an 22D on the DTU screen. Problem was that the new configured interface was not assigned to any zone in the firewall. This blocked all traffic on this interface. After configuring the firewall correctly connection was easy.
  • At one time SRSS was not able to connect to the ldap server. I saw error messages like
    utprop: search_for_entries(): LDAP search failed - No such object
    utglpolicy: open_connection(): Could not bind to DS server srsshost - No such object
    
    The reason for this was that I only had a full qualified host name in my /etc/hosts. As soon I added a short host name, SRSS was able to connect to the ldap server, again.

This blog copyright 2007 by Erik Riedel