hzdr / thinstation

A fork of the well-known linux-based thin client environment 'Thinstation' especially optimized for the various thin clients used at our institution (mainly "intel NUC") and modified to act as a lightweight remote connection kiosk system to connect to ThinLinc, Windows (RDP) and VNC server systems...

Home Page:http://github.com/hzdr/thinstation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚠️ Development on this fork is stopped! ⚠️

The follow-up project to create a lightweight ThinClient OS can be found here: https://github.com/jens-maus/thinRoot

Thinstation - HZDR fork

This repository hosts a fork of the Linux-based Thinstation thin client project. It comes with some modifications to:

While this fork seems to be only interested for the HZDR organization, it comes with modifications to Thinstation which might be interested to a wider range of users (including potential patches for the upstream 'Thinstation' project), thus this github-hosted project.

Installation

There are only a few points to get this Thinstation version compiled for being put on a PXE server:

  1. perform a clean github checkout of hzdr/thinstation:

    git clone https://github.com/hzdr/thinstation.git thinstation-hzdr
    cd thinstation-hzdr
    
  2. put proper id_rsa and id_rsa.pub file in ts/build directory:

    cp id_rsa ts/build
    cp id_rsa.pub ts/build
    
  3. run the build and automatically install the pxe images (make sure /tftpboot exists):

    sudo ./mkhzdr
    

License

As the original Thinstation project is licensed under the GPL license, this fork and all its source components are also distributed under the GPL (GNU General Public License) Open Source License.

Summary of modifications (April 2015)

The following should provide a short list of major modifications in comparison to the original Thinstation project:

  • created a new 'hzdr' package in `ts/build/packages/hzdr' with the following components:
    • binaries of 'qutselect' package (https://github.com/hzdr/qutselect) providing a Qt-based user interface to start remote RDP, ThinLinc and VNC connections.
    • binaries of 'xfwm4' including an adapted theme to use as a lightweight window manager around qutselect
    • binaries of 'keyd' keyboard daemon to be able to define own keyboard shortcuts (see /etc/keyd.conf) to perform tasks within the context of the thin client OS (e.g. ejecting mounted drives, modifying volume, etc.)
    • binaries of 'xte' keyboard emulation to allow to lock a remote session with a simple keyboard shortcut in the context of the thin client OS
    • modifications to generate an optimized ThinLinc configuration file to perform remote connections with only minor user input (no user/password asked).
    • special udev and acpi scripts to automatically move audio output on demand to a different device (e.g. as soon as headphones are plugged in)
    • own pulseaudio configuration file to allow to switch audio output sinks even during a running ThinLinc session.
  • hightly optimized build.conf (see ts/build/conf/hzdr)to generate a small PXE image (~ 48 MB only) with only the necessary packages included and fastboot=lostofmem enabled.
  • own mkhzdr install script to perform the necessary steps (even interactively) to generate the PXE images and directly install them in /tftpboot/thinstation

Credits

The HZDR fork of Thinstation is brought to you by:

About

A fork of the well-known linux-based thin client environment 'Thinstation' especially optimized for the various thin clients used at our institution (mainly "intel NUC") and modified to act as a lightweight remote connection kiosk system to connect to ThinLinc, Windows (RDP) and VNC server systems...

http://github.com/hzdr/thinstation


Languages

Language:Shell 71.2%Language:PHP 10.0%Language:C 6.3%Language:Smarty 5.3%Language:Roff 4.9%Language:Perl 1.4%Language:JavaScript 0.4%Language:C++ 0.3%Language:CSS 0.1%Language:Batchfile 0.1%Language:HTML 0.0%