Installing Sun Ray Server on Debian
From Sun Ray User Group Wiki
Hints and patches for older versions of SRSS
The adoption of SRSS to Debian was started by Michael Gernoth and Thomas Glanzmann at Erlangen University.
SRSS 4 09/07 on Debian/unstable
NOTE: Our suggestions is to setup the /etc/apt/sources.list to something like:
deb http://ftp.dk.debian.org/debian/ unstable main deb-src http://ftp.dk.debian.org/debian/ unstable main deb http://ftp.de.debian.org/debian sid main contrib deb http://ftp.de.debian.org/debian etch main non-free deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib (Replace with relevant mirrors.....)
- apt-get update
- apt-get install java-package sun-java5-jdk alien
This fixes the problem with config of tomcat-5.5
NOTE: On Ubuntu either use sudo for every command, or give root a password ("sudo passwd root") and then use "su" to operate as root.
- Install some necessary packages:
apt-get install libldap2 libldap-2.3-0 ldap-utils dhcp3-server nscd gawk iputils-ping pdksh unzip alien \ liburi-perl libgdbm3 libx11-6 libfreetype6 libsasl2-2 libxt6 zlib1g gdm devscripts xkb-data-legacy \ apache2 tomcat5.5 libapache2-mod-jk atftpd
- Ubuntu 8.04 Install some necessary packages (libldap2 libldap-2.3-0 no longer available):
apt-get install slapd libldap-2.4-2 ldap-utils dhcp3-server nscd gawk iputils-ping pdksh unzip alien \ liburi-perl libgdbm3 libx11-6 libfreetype6 libsasl2-2 libxt6 zlib1g gdm devscripts xkb-data-legacy \ apache2 tomcat5.5 libapache2-mod-jk atftpd
- If you want to use the Web administration tool, configure an apache/tomcat server:
cp /usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf /etc/apache2/conf.d/tomcat.conf
Enable start of apache2 in /etc/default/apache2 and start it:
/etc/init.d/apache2 start
When later utconfig asks for the "Apache Tomcat installation directory", answer /usr/share/tomcat5.5.
- Unpack SRSS into some temporary directory:
unzip srss_4.0_linux.zip
- Convert to deb packages:
find . -name *.rpm | xargs alien -d [Ubuntu 8.04] sudo find . -name *.rpm | xargs sudo alien -d
- As /usr/X11R6/bin is deprecated in Debian, it should not be included as a directory in the sunwutu-package. To rebuild the package with the content from /usr/X11R6/bin moved to /usr/bin execute:
SUNWUTU="`echo sunwutu_*`"; echo 'mv usr/X11R6/bin usr/; rmdir usr/X11R6' | deb-reversion -k bash "${SUNWUTU}" move Xnewt to /usr/bin && rm "${SUNWUTU}"
Is this possible with sudo?
- Install all resulting sunw*-packages:
dpkg -i sunw*deb
- Install Java for SRSS:
cd /etc/opt/SUNWut/; /path/to/srss_4.0/Supplemental/Java_Runtime_Environment/Linux/jre-1_5_0_11-linux-i586.bin; ln -s jre1.5.0_11 jre
- Download and apply the following patches: Media:Patch-SUNWut.txt, Media:Patch-SUNWutref.txt, Media:Patch-SUNWkio.txt
cd /opt patch -p0 < /path/to/Patch-SUNWut.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, and run
chmod 755 /etc/init.d/zsunray-init.sh && update-rc.d zsunray-init.sh defaults 99 01
- [Ubuntu 8.04] 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:Xkbinstall.sh and execute it:
/bin/sh Xkbinstall.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 [Ubuntu 8.04] first need to create 2 symlinks cd /usr/lib; ln -s libldap-2.4.so.2 libldap-2.3.so.0;ln -s liblber-2.4.so.2 liblber-2.3.so.0
- Some more odds and ends:
echo "DISTRIB_ID=Debian" > /etc/lsb-release ln -s /etc/X11/rgb.txt /usr/lib/X11/rgb.txt ln -s /usr/share/X11/XKeysymDB /usr/lib/X11/XKeysymDB mkdir /var/dt; 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 documentation for possible options.
- 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";
- Kernel modules for audio and usb support:
The modules do not work correctly on "newer" 2.6 kernels (> 2.6.10 for 64 bit mode, > 2.6.16 for USB storage). To fix this, apply Media:Patch-modules-SRSS4-0907.txt patch:
cd /usr/src; patch -p0 < Patch-modules-SRSS4-0907.txt
- Install kernel header files:
apt-get install linux-headers-`uname -r`
- Then compile and install the modules:
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
If compilation fails (which is the case on at least Ubuntu Hardy), apply the patch Media:Patch-modules-SRSS4-0907-phase2.txt (with the above patch applied), then rerun the above commands.
- To get the SunRay variables (for example $SUN_SUNRAY_TOKEN) set upon login, put Media:10SUNWut.sh into /etc/X11/Xsession.d/ On Debian/Ubuntu this file must be renamed to 10SUNWut, otherwise the SunRay session will not be configured correctly!
- An /etc/gdm/gdm.conf for SunRays could look like this one: Media:gdm.conf.txt
- [Ubuntu 8.04] try Media:Ubuntu-8.04-gdm.conf.txt as a starting point for /etc/gdm/gdm.conf for SunRays (all changes from default marked with ##dw)
- 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
- If your clients stall on connection with status code 26 when everything above is done, you will probably need to create the following symlink (since utxsun looks for fonts in the wrong directory):
mkdir -p /usr/X11R6/lib/X11/ ln -s /usr/share/fonts/X11 /usr/X11R6/lib/X11/fonts
This will only need to be done once, but your clients might (seem to) stall with status code 26 after restarting the SRSS or GDM.
- 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.
- You can activate the XKB extension of the Sun Ray X server
/opt/SUNWut/bin/utxconfig -a -k on
- When the SunRays do not enter power-saving mode, put the following in a new file called /etc/X11/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
- Some other useful Gnome configuration options are collected in this Media:gconf.sh shell script.
- Configure sound support by installing the Enlightenment sound daemon, esd
apt-get install esound
and make sure sure it is started by patching session setup script with this patch Media:Patch-0100.SUNWut.txt
cd /etc/X11/xinit/xinitrc.d patch -p0 < /path/to/Patch-0100.SUNWut.txt
- There are some "bashisms" in /etc/X11/xinit/xinitrc.d/0100.SUNWut, which prevents it from loading correctly if you're using another shell than bash as /bin/sh (Ubuntu edgy and above uses dash (Debian Almquist Shell) by default, for example). To fix this, use the patch Media:Patch-0100.SUNWut-bashisms.txt:
cd /etc/X11/xinit/xinitrc.d patch -p0 < /path/to/Patch-0100.SUNWut-bashisms.txt
Also, using this patch on Ubuntu Hardy, the above patch for esound doesn't seem to be needed! (In fact, esound doesn't seem to work at all on the installation this patch came from...)
- To get token self registering (the -s flag to utpolicy) working, you will need to edit /etc/pam.d/utselfreg to contain the following:
# BEGIN: added to utselfreg by SunRay Server Software -- utselfreg auth required pam_unix.so
(By default it adresses pam_unix2.so, which doesn't exist.)

