We used to have these at my workplace and always wanted to get one but they got thrown out and I didn’t manage to save one… And nowadays they are kind of rare to find on used marketplaces.
And of course you can still set them up today https://youtu.be/Fb0w5OT1U58
I'm pretty sure I can see the same thing happening in the picture of the sunray client they have on this page. The left hand side of the screen is cut off (you should see the clock and syspanel icons on the top left).
Anyone know why this happens? And how to fix it?
I hadn't heard of "Sun Ray" until today, but it reminds me a lot of the idea behind Linux Terminal Server Project (LTSP) - which I used on our school's IT lab back then at a teen. Set up an old i386 machine with the various netbooting daemons. Then on each host - boot from floppy disk, remove disk, insert in next machine until 20 hosts were running from that poor old hard drive.
The nice thing was that the installed OS on each was unaffected, and each machine was running X11 over the network.
Seems like those solutions were optimising for a time where hardware was overly expensive.
Here is an X terminal from around 1990.
https://en.wikipedia.org/wiki/X_terminal
It displayed everything over the network via X11 from a more powerful workstation / server.
> Datapro wrote in 1991 that X terminals could provide windowing capability, high-resolution graphics and relatively fast processing for prices starting around US$1,500, compared with workstations that could cost more than US$10,000.
I used to have a stack of those login cards from the Sun courses I took. (I think they gave them to us to to log in to the "attendance" system, but really they were just souvenirs to show your coworker when you got back.) They sat on my desk and were a marvelous kind of fidget device, like shuffling a very scanty deck of cards over and over.
I bought a gen 2 SunRay in the hopes that I'd get around to installing it in my LAN some day as part of my eternal To-Do list. Sadly, I trashed all of that stuff when Sun got eaten and Solaris turned into a niche tech that I was almost embarrassed to have on my resume. I wish I had that stuff now.
Thank you for submitting this link, and (if they come by here) thanks to the author for writing up such a lovely, nostalgic bit of work.
We had citrix and sunray in those days. Citrix was for those that had BIG BIG BIG money and needed windows. We were a java shop, so it was either an e450 in the server room and sunrays, or ultra5s at every desk.
As an aside on Sun Ray, it played a very important (if incidental) role in the development of DTrace in that one of the first truly production systems we used DTrace on was a Sun Ray server inside of Sun that was in a huge amount of pain. (I described this in the DTrace USENIX paper[0], and also in my "Dtrace (sic) Review" talk at Google ca. 2007.[1])
[0] https://www.usenix.org/legacy/publications/library/proceedin...
Still think they've not been matched for ease of "start a session, walk away, carry on somewhere else" as if you've never left your desk.
time for another Sun Ray blog post! I've had a few people email me asking for help setting up a Sun Ray server over the last few months, and despite my attempts to help them get it going there's been mixed results with running SRSS on OpenIndiana Hipster 2025.10.
my Sun Ray server is still on an earlier OI snapshot, so I figured it was about time to try to actually follow the new guides myself.
first hurdle - VM configuration. this is what worked for me on a PVE 9.0.11 host, but YMMV:
OI-hipster-gui-20251026.iso)q35, firmware as SeaBIOShost, 1 socket, 4 coresdon't start on creation, there's a few things to edit! in the Hardware tab of the new VM...
the config for our new VM looks like this:

after that, start the VM, and boot into the OpenIndiana installer. the GUI installer (there's a shortcut on the desktop of the live image) worked fine for me - although it did pop up a couple of error dialog boxes after starting the install, the install continued with no issues when I closed them. if you walk away while it's installing, and come back to a screen lock - the password for the live user is jack.
once it's installed, reboot into your new OI install, and log in as your (normal, unprivileged) user account. open up a terminal - which will likely look like it's broken, because it defaults to black text on a black background for some reason. open the "Edit" menu > "Profile Preferences" > "Colors" tab, and uncheck the "Use colors from system theme" box. use sudo -i to get a root shell.
first off, update the system! things will act Really Strangely if you forget to do this. i'd also recommend enabling the hipster-encumbered repository:
pkg set-publisher -g https://pkg.openindiana.org/hipster-encumbered/ hipster-encumbered
pkg refresh
pkg update
Hey, look out!
at this point, we start following the steps from the Sun Ray Installation section of the OpenIndiana Handbook. I'll use a block like this one to point out where what I'm telling you to do differs from that guide.
install the sunray-essential package, which brings in all the needed dependencies:
pkg install sunray-essential
download and extract the Sun Ray Server Software package, which you can download from https://edelivery.oracle.com after signing up. there are a number of Sun Ray-related listings on archive.org which contain the right files, too - you're looking for V37038-01.zip, which is Sun Ray Server Software version 5.4.0.0 for Solaris 11 i386. the only copy of SRSS 5.4.5.0 I've managed to find is for SPARC (found here, on archive.org) - the fact that the OI Handbook says that 5.4.5.0 can be found on Oracle eDelivery seems to be utterly untrue. that said, if you do manage to get SRSS 5.4.5.0 for Solaris 11 i386 from Oracle eDelivery - or from anywhere else from that matter - please send me an email!
bsdtar -C /root -xf V37038-01.zip
after it's extracted, we can tell IPS where to find it, and install the Sun Ray server packages:
pkg set-publisher -g /root/srs_5.4.0.0-Solaris_11plus.i386/IPS.i386/ sunray
pkg install SUNWut-srss SUNWut-srwc
Hey, look out!
the OI Handbook includes instructions on linking in the JRE - but it says you need to get it from the Oracle website, not mentioning the fact that it's included. (maybe it's not included in the 5.4.5.0 packages? who knows!) the OI Handbook doesn't mention the Apache Tomcat install at all.
the Sun Ray server software requires a period-accurate Java Runtime Environment; and, for the Sun Ray server web administration, a period-accurate version of Apache Tomcat. thankfully, both of these things are present in the Supplemental directory of the Sun Ray Server Software package, so we just need to put them in the right positions:
cd /opt
/root/srs_5.4.0.0-Solaris_11plus.i386/Supplemental/Java_Runtime_Environment/Solaris/jre-6u41-solaris-i586.sh
bsdtar -C /opt -xf /root/srs_5.4.0.0-Solaris_11plus.i386/Supplemental/Apache_Tomcat/apache-tomcat-5.5.36.tar.gz
ln -s /opt/apache-tomcat-5.5.36 /opt/apache-tomcat
once those are installed, we need to install and run the OpenIndiana patch tools for the Sun Ray server.
pkg install sunray/oi-adaptions
/opt/SUNWut/utils/apply_patches
make the Sun Ray server use ISC DHCP instead of trying to use the non-existent Sun DHCP daemon:
rm /etc/opt/SUNWut/dhcp
ln -s /opt/SUNWut/lib/dhcp/isc /etc/opt/SUNWut/dhcp
Hey, look out!
the below manual patching steps are not part of the OI handbook. these may not be necessary for SRSS 5.4.5.0, but we have to make do here.
lastly, there are a couple extra patches needed after running the /opt/SUNWut/utils/apply_patches script:
sed -i 's|pkg list \$2|pkg info -q $2|g' /opt/SUNWut/lib/utprodinfo
sed -i 's|SUNWlldap|ldap|g' /opt/SUNWut/sbin/utconfig
sed -i 's|SUNWlldap|ldap|g' /opt/SUNWut/sbin/utreplica
WARNING:
an earlier version of this post had manual substitution instructions, rather than sed(1) invocations, above. unfortunately, some text editors (including Pluma, the graphical text editor that ships with MATE on OpenIndiana) replace all instances of \r with \n - which breaks the setup, because /opt/SUNWut/sbin/utconfig intentionally uses \r as an internal substitution separator!
if you did the edits manually previously, and are now getting weird errors when continuing the setup, you will need to revert that file to the packaged version and reapply the change:
pkg revert /opt/SUNWut/sbin/utconfig && sed -i 's|SUNWlldap|ldap|g' /opt/SUNWut/sbin/utconfig
(I hadn't realised this could even be an issue, until I got a very confused email from someone asking if I could help - sorry, Esa!)
after those changes, SRSS is ready to go, and we can continue on to...
to do the initial configuration:
/opt/SUNWut/sbin/utconfig
Y/opt/apache-tomcat, which we set up a symlink for earlier)N to enabling HTTPS (the default SSL config won't work in modern browsers, and if you enable HTTPS the plaintext port will only ever redirect to the HTTPS port - it's not worth the trouble enabling it)1660Y to enabling remote server administration (without this, the Tomcat server will block requests from outside of specifically configured subnets - it's much easier to say yes here than to correct that later)Y to configuring kiosk modeN to configuring a failover groupY to confirm these settingsto allow Sun Ray clients to connect, the following commands are needed:
/opt/SUNWut/sbin/utadm -L on
/opt/SUNWut/sbin/utpolicy -a -z both -D
WARNING:
the utpolicy invocation above differs from the one in our first post about setting up SRSS - SRSS on OpenIndiana Hipster 2025.10 doesn't support hotdesk sessions ("non-smartcard mobility"), so we can't pass -M, and need to additionally pass -D. installing the needed libraries for mobile sessions is apparently possible by adding the same repo we used in the first blog post now covered in the "part 2" to this post!
at this point, you should close anything you have open on the OpenIndiana VM excepting the terminal (because this is about to kick you out of the graphical session!), and run:
svcadm disable graphical-login/lightdm
log in to your user account on the console, sudo -i again, and run:
svcadm enable graphical-login/gdm
this will get you back to a graphical login (but in GDM this time, which the Sun Ray sessions require). enter your username, but before you enter your password, make sure the session type at the bottom of the screen is set to MATE, not GNOME - if you leave it on GNOME, you'll end up at a lovely black screen, unable to do anything!
once you're logged back in, open a terminal, sudo -i, etc - and then you can start the Sun Ray services:
/opt/SUNWut/sbin/utstart -c
once the Sun Ray services have started, we're ready to point a DTU to the server!
to point Sun Ray clients towards the Sun Ray server, there are a few options. the easiest to configure for all the Sun Ray clients on your network is to add some static DNS entries to your router (or whatever other DNS server your network uses). pointing sunray-servers and sunray-config-servers at the SRSS host will make all clients auto-configure for the server you point those DNS names to.
if your Sun Ray DTU has firmware loaded which allows entering the inbuilt menu, you can access that menu with Stop+M (on a Sun keyboard), or Ctrl+Alt+Meta+Shift+M (on a standard PC keyboard). selecting the "Servers" menu item will prompt for the IP/hostname of the Sun Ray server(s) to connect to - enter your new SRSS server's IP for both the main server and the firmware server, and leave the log server blank. confirm saving the changes, and use Escape to exit the menu, at which point the DTU will reboot.
if everything has been set up correctly, and your client can reach your Sun Ray server, you should now see a GDM login screen on the Sun Ray client!

as in the last installment, we'll need to pull the firmware out of a different Sun Ray Server Software package.
Hey, look out!
none of this is in the OI Handbook either - I guess they're assuming your DTUs are already running suitable firmware...?
same as last time, I grabbed a Linux SRSS package set, and used rpm2cpio to extract the firmware files from the right RPM within. I used SUNWutfw-4.3-50.i386.rpm, found at srs_5.2/Components/10-SRSS/Content/Sun_Ray_Core_Services_4.3/Linux/Packages in the Oracle distribution archive V26331-01.zip (which I found at Sun_Ray_Software_5.2/Linux_x86_(32bit_and_64bit)/V26331-01.zip inside sunray-server-5.x.tar.gz from this archive.org upload of various Sun Ray server software).
rpm2cpio SUNWutfw-4.3-50.i386.rpm | bsdtar -C /tmp -xf -
mv /tmp/opt/SUNWut /opt/SUNWutdfw
rmdir /tmp/opt
then, to set up the TFTP root for the DTUs to pull their firmware from; and make the Sun Ray server populate the firmware:
mkdir /tftpboot
cd /tftpboot
ln -f -s . tftpboot
/opt/SUNWut/sbin/utfwadm -AaV -G force
NOTE:
quick utfwadm parameter explanation: -Aa makes the firmware apply to all DTUs, -V stops the tool from trying to configure DHCP options to point clients to the TFTP server, and -G force forcibly enables the clients' configuration menu (mentioned above)
open your web browser to http://<SUN_RAY_SERVER_IP>:1660 and you should be greeted by the Sun Ray web administration! log in with username admin and the admin password you set earlier.
if a DTU is connected, you should see it in the "Desktop Units" tab, like so:

and that's pretty much it! i apologise to the people who emailed me asking for help with Sun Ray stuff, only for me to give them faulty info as to setting things up because I hadn't actually done the install on OI Hipster 2025.10 or above. hopefully this helps you get things working, though.
but wait, there's more! to get mobile sessions working, and getting a working virtual client on modern Apple Silicon macOS, continue on to part two!