SRSS 4.1 Beta on Debian/unstable
From Sun Ray User Group Wiki
Note1: This version of SRSS now includes 64bit versions of the PAM modules. So it should also run on a Linux installation with 64bit userland. I didn't test this, we use 64bit kernel + 32bit userland.
Note 2: All commands should be executed as root. Ubuntu users can use "sudo -i" to get a root prompt.
- Install some necessary packages:
apt-get install alien atftpd dhcp3-server gawk gdm iputils-ping ldap-utils libgdbm3 \ libldap-2.4-2 module-assistant pdksh tomcat5.5 sun-java6-jre unzip xkb-data
- Unpack SRSS into some temporary directory:
unzip srss_4.1_linux.zip
- Convert the 32bit packages to deb packages:
find . -name SUNW*i386.rpm | xargs alien -d
- Install all resulting sunw*-packages:
dpkg -i sunw*deb
- Install Java for SRSS:
ln -s /usr/lib/jvm/java-6-sun/jre /etc/opt/SUNWut
- Download and apply the following patches: Media:Patch-SUNWut41b.txt, Media:Patch-SUNWutref.txt, Media:Patch-SUNWkio.txt
cd /opt patch -p0 < /path/to/Patch-SUNWut41b.txt patch -p0 < /path/to/Patch-SUNWutref.txt patch -p0 < /path/to/Patch-SUNWkio.txt
- Put the Media:Zsunray-init.sh into /etc/init.d/zsunray-init, and run
chmod 755 /etc/init.d/zsunray-init && update-rc.d zsunray-init defaults 99 01
- Download Media:Xkbinstall41b.sh and execute it:
/bin/sh Xkbinstall41b.sh
- If you have not already configured the DHCP-server on your machine for other clients, you should empty the current config, so the Sun Ray Server Software adds its entries to a clean config and not the debian example one:
mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.sample; touch /etc/dhcp3/dhcpd.conf
If you have already configured the dhcp-server, make a backup-copy of your old config, just in case.
- Create some library compatibility symlinks:
/opt/SUNWut/lib/utctl.d/features/utcompatlinksctl enable; ldconfig
- Some more odds and ends:
echo "DISTRIB_ID=Debian" > /etc/lsb-release mkdir /var/dt sed -i -e 's/\\\$PLATFORM/i686/' /etc/opt/SUNWut/xinitrc.d/0100.SUNWut sed -i -e 's/\$PLATFORM/i686/' /etc/pam.d/gdm
- see [1]:
ln -s /opt/SUNWut/lib/libutdev.so.1 /usr/lib; ldconfig
- You can now configure the server with /opt/SUNWut/sbin/utconfig and /opt/SUNWut/sbin/utadm, see the SRSS documentation for possible options.
When you want to use the SRSS Web administration tool and utconfig asks for the "Apache Tomcat installation directory", answer /usr/share/tomcat5.5.
- For dhcp to work, the utadm script should have added some lines to your /etc/dhcp3/dhcpd.conf and restarted the dhcp-server. Example:
include "/etc/opt/SUNWut/net/dhcp/SunRay-options"; include "/etc/opt/SUNWut/net/dhcp/SunRay-interface-eth2";
- Use Debian's module-assistant to prepare the system for kernel module builds:
m-a -t prepare
- Apply the patches from SRSS-4.1-28 on Linux-2.6.26 and compile the kernel modules:
sed -i -e 's/CFLAGS/EXTRA_CFLAGS/' /usr/src/SUNWut/utadem/Makefile sed -i -e 's/CFLAGS/EXTRA_CFLAGS/' /usr/src/SUNWut/utio/Makefile sed -i -e 's/CFLAGS/EXTRA_CFLAGS/' /usr/src/SUNWut/utdisk/Makefile sed -i -e 's/ioctl32.h/ioctl.h/' /usr/src/SUNWut/utadem/utadem.h sed -i -e 's/ioctl32.h/ioctl.h/' /usr/src/SUNWut/utio/utio.h sed -i -e 's/ioctl32.h/ioctl.h/' /usr/src/SUNWut/utdisk/utdiskctl.h sed -i -e 's/if __W.*/ifdef CONFIG_64BIT/' /usr/src/SUNWut/utdisk/utdiskctl.h sed -i -e 's/error __W/warning __W/' /usr/src/SUNWut/utdisk/utdiskctl.h sed -i -e 's/\(bio_endio(.*, \).*, /\1/' /usr/src/SUNWut/utdisk/utdisk.c sed -i -e 's/\(bio_endio(.*, \).*, /\1/' /usr/src/SUNWut/utdisk/utdiskctl.c make -C /usr/src/SUNWut/utadem clean default install make -C /usr/src/SUNWut/utio clean default install make -C /usr/src/SUNWut/utdisk clean default install depmod -a
- To get the SunRay variables (for example $SUN_SUNRAY_TOKEN) set upon login, put Media:10SUNWut.41b.sh into /etc/X11/Xsession.d/10SUNWut (Without the .sh suffix!)
- An /etc/gdm/gdm.conf for SunRays could look like this one: Media:gdm.conf41b.txt. Put the script Media:XKeepsCrashing-sunray.txt into /etc/gdm/XKeepsCrashing-sunray
- Remember: After (re-)starting GDM, you also need to restart the SunRay server software:
/etc/init.d/zsunray-init stop; /etc/init.d/zsunray-init start
- You are now ready to start the Sun Ray Server Software with: /etc/init.d/zsunray-init start
Some odds and ends
- Debian man should find all the SRSS manpages: add the lines
MANDATORY_MANPATH /opt/SUNWut/share/man MANDATORY_MANPATH /opt/SUNWuttsc/share/man MANDATORY_MANPATH /opt/SUNWkio/share/man
to /etc/manpath.config.
- Activate the XKB extension of the Sun Ray X server
/opt/SUNWut/bin/utxconfig -a -k on
- If you feel that the Alt and Meta keys should be exchanged, but the following in a new file called /etc/X11/Xsession.d/53xmodmap:
/usr/bin/xmodmap -e "clear Mod1" \
-e "clear Mod4" \
-e "add Mod1 = Alt_L" \
-e "add Mod4 = Meta_L" \
-e "add Mod4 = Meta_R"
- When the SunRays do not enter power-saving mode, put the following in a new file called /etc/opt/SUNWut/gdm/SunRayInit/helpers/xset and make it executable:
#!/bin/sh /usr/bin/X11/xset s 600 0
- Screen savers waste not only CPU cycles but also network bandwith in a SunRay environment. Install the gnome-screensaver package and deinstall xscreensaver. Then make a blank screen the mandatory screen saver mode under Gnome by
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /apps/gnome-screensaver/mode blank-only
Installation of the Sun Ray Connector for Windows
unzip srwc_2.1_linux.zip cd srwc_2.1 find . -name *.rpm | xargs alien -d dpkg -i sunw*.deb /opt/SUNWuttsc/sbin/uttscadm -c
When the last command asks for the location of libcrypto.so.0.9.7, answer /usr/lib/libcrypto.so.0.9.8
Bugs and workarounds
- Bug: utadm generates an invalid /etc/dhcp3/dhcpd.conf file. One of the necessary #include ... lines is missing. Workaround: add the line by hand (see above for an example)
- Bug: The "<>|" key is not working on German Sun type 7 keyboards with XKB extension enabled. Workaround: add the line
key <LSGT> { [ less, greater, bar, bar ] };
to the basic section of the file /opt/SUNWut/lib/xkb/symbols/de.
- Bug: This version of SRSS added a new feature to hotdesking. From the release notes: "Remote Hotdesk Authentication (RHA) is a new security policy feature, turned on by default. Before connecting to a pre-existing session, the Authentication Manager now asks the Session Manager to create a temporary new session for authentication of the user." Under Debian, this authentication session does not start and the DTU oscillates between 14D and 26D error states. Workaround: use utpolicy -D to revert to the old behaviour:
$ utpolicy # Current Policy: -a -g -z both $ utpolicy -D -a -g -z both; utrestart

