Q&A with Donald A. Cupp Jr. - ThinStation project

Today’s Q&A focuses on the ThinStation project, which is “a basic and small, yet very powerful, Open Source thin client operating system supporting all major connectivity protocols.”

ThinLinc is one of the connectivity protocols that can be used with ThinStation. This project is maintained by @doncuppjr , who kindly agreed to participate in this Q&A as a way to share information about ThinStation.

This thread will remain open for those who wish to ask questions directly, so if you have one, please post it below. To get the ball rolling, however, I’d like to start with a few of my colleague @aaron :

  1. Please give us a short bio - what is your background, and how long
    have you been involved in the ThinStation project?

  2. Who is the typical ThinStation user? Why do they choose ThinStation?

  3. What are some common examples of hardware that people are running
    ThinStation on?

  4. I notice that one of our forum members Jens Maus (@j.maus ) has a
    ThinStation fork on GitHub with modifications to support several
    different generations of Intel NUC at their organization, HZDR. Is
    this something which might be interesting to the upstream project?

  5. What are the biggest challenges facing the ThinStation project right
    now?

  6. What is the future direction for the ThinStation project? Which
    bugs/features would you most like to see implemented?

  7. How can people contribute to the ThinStation project?

For more information on theThinStation Project, visit https://thinstation.github.io/thinstation/

For code, support, and feature requests, visit https://github.com/ThinStation/thinstation

Don can be reached via his own website, visit http://www.doncuppjr.net

1 Like

The New Zealand connection :slightly_smiling_face: (just a curiosity)
From Wikipedia: Thinstation was originated by Miles Roper from NZ in 2003 (http://thinstation.sourceforge.net/authors.html). He appears now as CIO of a health provider in NZ (https://www.hinz.org.nz/news/479860/CIO-Interview-Being-the-CIO-of-the-smallest-DHB-in-the-country.htm), just a few hours from my place here in the South Island. Should shout him a coffee next time I’m in Greymouth

I was a windows administrator for about 15 years prior to encountering ThinStation. After the 2001 dot com bust, I started studying Linux, hacking, cracking and malware, though not for malicious purposes. I eventually ran into a project where a client had about 600 windows terminals that had all been
infected with conficker. Only three techs were available to assist in remediation, and access to each terminal was very limited. Linux was the obvious choice. I spent a week evaluating various distros, but only ThinStation checked all the boxes for deployability and resource requirements, though it was a bit rough. It took me a month to complete that project, but by the end, I was hooked on ThinStation. I spent the next couple of years ironing out the kinks and figuring how to keep it up to date. Now, I estimate most administrators could complete that same project in less than a week.

I would say the typical ThinStation user is an administrator that needs to manage a large number of remote access terminals or kiosks in a consistent way. The config files are easy to read, the output is consistent and most of the heavy lifting is done for you. I have heard of a few instances, where one or two admins control tens of thousands of terminals.

I think they choose it because remote access and kiosk functionality are baked in. The end user isn’t bothered with a lot of configuration buttons and useless options. This makes it much harder to break and a lot easier to secure.

Any kind of thinclient hardware for sure. Many of my customers use it on laptops and recycled desktops.

Yes of course. Jens has made several good contributions over the years, but I think he has a few tweaks that are specific to his application and region that might not be for everybody. I always hope he’ll send me a PR for anything he thinks is appropriate for mainline.

You mean besides funding? Documentation and buttons. ThinStation is very CLI oriented. Maintaining a GUI to the build system would be development intensive, and I don’t have those kinds of resources. Documentation is constantly getting outdated.

Right now things are in maintenance mode. I don’t have any plans to implement bugs, but I’m sure that will happen :slight_smile: . I always thought an orchestration piece would be nice. Something that provisioned and tracked configs for all the clients in a nice GUI.

Documentation. It’s so hard to keep up with the maintenance and the documentation for any and everything someone might want to do with ThinStation. Any of the GUI pieces would be fantastic. Working out translations and how to do them for the dialogs would also be a huge help.

2 Likes

As I have been directly mentioned here, please allow me to add my two cents:

After years of happily using SunRay Terminals back then before Oracle started to break the whole Sun Microsystem ecosystem, we (the company I am working for) faced the need to switch from our use-case of using 80-100 SunRay Terminals to something else, while keeping it “Thin”. We quickly encountered ThinLinc as a great technology to be a potential 1:1 replacement for the SunRay software. For the ThinClient hardware part, we however faced issues finding a drop-in replacement for the great SunRay terminals Sun Microsystem has developed for years.

After some investigation we decided to develop/design/collect our own ThinClient OS and use intelNUC systems which were emerging at that time as great and powerful hardware pieces (and they are still great as being used as ThinClient!). After some look around I quickly stumbled over the ThinStation project from @doncuppjr and started to implement what we required (e.g. hardware support for intelNUC systems, kiosk mode GUI+features, etc.) in terms of running a slim OS which can be booted via PXE/TFTP exactly how the SunRay Terminals worked back then.

Over the years of happily using Thinstation (Thanks Don!) as the main ThinClientOS for our intelNUCs, we however also regularly faced issues in updating them adequately with newer kernel versions or updated software packages because Thinstation is a binary based distribution with precompiled binaries as well as precompiled kernel images. In addition, it was primarily targeted to be a 32bit OS only, but time passed and a 64bit OS is now definitly standard.

Due to these limitations our thinclient experience wasn’t that smooth anymore which - about 2 years ago - lead me to start a complete new project which I named “thinRoot” (https://github.com/jens-maus/thinRoot) because it is based on the great Linux distribution “Buildroot” (https://buildroot.org/) which allows to very easily compile your own Linux-based operating system in a very straight forward way. Thus, thinRoot is using buildroot as its base LinuxOS and on top of that comes with a similar feature set in terms of generating slim bootable PXE/TFTP images than Thinstation. Furthermore, I added similar configuration options which allows to set/configure things from the PXE server from which these clients are booting.

Having all that said, I do still think that ThinStation is indeed a great piece of software and has its place. But unfortunately it hasn’t evolved to something as flexible as buildroot or thinRoot. However, I can of course just speak for myself or the use cases we have in our research institute which we are happily using it. But perhaps some people might find it helpful for their own institution or needs and might give thinRoot a thumbs up at GitHub!

2 Likes

@j.maus thanks for commenting, really interesting to hear about your transition from #sunray. This is something a lot of people have had to go through, but first time I have seen someone build their own thin client OS as part of the solution. There is a risk that you might have to do a Q&A on #thinroot now :wink:

1 Like