Thin clients zijn lichte systemen die alle applicaties via het netwerk op een server draaien. Hoewel dit vooral nuttig lijkt in grotere omgevingen, is dit ook voor thuisgebruik een interessante technologie. Veel hardware heb je niet nodig en ook het opzetten van een thin client is niet erg ingewikkeld. In deze workshop gaan we aan de slag met Thinstation, een gebruiksvriendelijke thin client distributie.

Thin clients bieden heel wat voordelen in grotere omgevingen, zoals in kantoren of op scholen. Door alle applicaties centraal op één of meerdere servers aan te bieden, wordt het beheer heel wat eenvoudiger. Je hoeft dan immers nog maar één of enkele servers up-to-date te houden in plaats van tientallen of honderden clients. Bovendien bespaar je ook op hardware. De clients hebben geen krachtige processor, massa’s geheugen of snelle SSD-opslag meer nodig. Alle software draait immers op de server. Enkel de netwerkverbinding tussen de client en de server moet snel genoeg zijn. Om die reden volstaat een minimale computer met redelijk beperkte specificaties. Thin clients zijn dan ook vaak erg compact, volledig geruisloos (ventilatoren voor koeling zijn meestal overbodig) én behoorlijk zuinig.

 

Een extra PC?

Maar ook voor thuisgebruik zijn thin clients interessanter dan je zou denken. Heb je al een behoorlijk krachtige desktop staan en zou je die ergens anders in het huis ook willen gebruiken? Of wil je vaak met twee personen tegelijk op die computer werken? Dan hoef je niet meteen een tweede computer aan te schaffen. De huidige computers zijn immers krachtig genoeg om door meer dan één persoon gebruikt te worden. Het enige wat je nodig hebt is een minimale computer -die hoeft zelfs geen harde schijf te hebben!- en een extra muis, toetsenbord en beeldscherm. Je kan daarvoor een oude PC (her)gebruiken, wat een goedkope manier is om de levensduur van een trage computer te verlengen. Maar het is natuurlijk leuker om een moderne, compacte en stille thin client te kopen. Dat is nog altijd een stuk goedkoper dan een volledig nieuwe PC. Thinstation, de distributie die we in deze workshop gebruiken, draait enkel op Intel-compatibele hardware. Dat betekent dat bijvoorbeeld een Raspberry Pi afvalt als kandidaat voor onze thin client. Maar er bestaan ook heel wat Intel Atom-gebaseerde apparaten die prima dienst kunnen doen.

 

Installatie

Om met Thinstation aan de slag te gaan, heb je dus minstens twee machines nodig: een client en een server. Op de server hoef je in principe geen extra software meer te installeren. Thinstation ondersteunt immers verschillende protocollen om verbinding te maken, afhankelijk van het besturingssysteem op de server. Voor zakelijk gebruik zijn Citrix Reciever en VMWare View van de partij. Voor thuisgebruik zijn vooral RDP (voor Windows) en VNC en NX (voor Linux) interessant. 

Wil je een Windows-desktop delen met je thin client, dan moet je gewoon externe toegang inschakelen in Windows (via Configuratiescherm > Systeem en beveiliging > Systeem > Externe toegang toestaan). Klik ook even op “Gebruikers selecteren” om te controleren of alle gewenste gebruikers wel toegang hebben (standaard mogen enkel Administrators van afstand inloggen). Vink ook zeker de optie “Alleen verbindingen toestaan met computers waarop Extern bureaublad met verificatie op netwerkniveau wordt uitgevoerd” af. Die optie bleek immers niet compatibel te zijn met Thinstation. Wil je een Linux-desktop delen, dan moet je mogelijk nog VNC of NX installeren. Sommige distributies bevatten standaard al tools om inloggen van afstand in te schakelen. Omdat in dit artikel de focus op ligt op Thinstation -en dus de client kant- gebruiken we als server gewoon een Windows 10-desktop.

 

Thinstation

De gemakkelijkste manier om Thinstation te testen, is via de Demo LiveCD. Je vindt de downloadlink op http://bit.ly/1OXsTCI, in de linkerbalk. We stellen voor dat je niet te veel tijd spendeert aan het testen van de LiveCD. Voor je uiteindelijke setup wil je wellicht een aangepaste iso gebruiken (zie verder). De LiveCD dient dus enkel om een algemene indruk te krijgen van Thinstations mogelijkheden. Ook voor een snelle test of je kan verbinden met je server is de LiveCD een prima optie. Om die reden starten we de LiveCD in VirtualBox. Zorg er wel voor dat die virtuele machine aan de rest van je netwerk kan via bridged networking. Na het booten, kom je in een redelijk kale XFCE-desktop terecht. Op het bureaublad vind je snelkoppelingen naar verschillende remote desktop clients: VMware View, RDesktop, Citrix Receiver, enzovoorts. Diezelfde applicaties staan ook onder de categorie “Connectivity” in het startmenu. Clients voor VNC en NX ontbreken trouwens in de LiveCD. Verder treffen we nog Firefox en Filezilla, de Thunar-bestandsbeheerder, mtPaint en een terminal-emulator aan. Die laatste is wel handig voor troubleshooting. Tot slot zijn er nog een aantal tools beschikbaar om zaken aan te passen, zoals datum en tijd, schermresolutie, toetsenbord lay-out en volume. Verbinden met onze Windows 10-machine kan zowel met RDesktop als met FreeRDP. Tijdens onze test werkte die laatste echter niet. Bij RDesktop moesten we ook nog de optie “-k nl-be” invullen om de correcte toetsenbord lay-out te selecteren (Belgisch azerty), ook al stond de lay-out correct ingesteld in Thinstations XFCE-desktop. (Dit is geen specifiek probleem voor Thinstation: ook op andere distributies lijdt rdesktop aan dit euvel.)

 

Configuratie

Hoewel onze eerste test succesvol was, is de Thinstation LiveCD niet erg handig. We moeten immers telkens weer onze tijdzone instellen, de verbindingsgegevens invoeren, enzovoorts. Gelukkig is Thinstation erg configureerbaar: we gaan dus een aangepaste versie maken voor onze omgeving. Dat kan op twee manieren: of je installeert alle benodigde tools op je eigen Linux-installatie of je downloadt de DevStation-iso. Met de DevStation-iso installeer je een volledige Thinstation-ontwikkelomgeving in bijvoorbeeld VirtualBox. Meer uitleg over beide methodes vind je op bit.ly/1QFSa6B. 

Voor de rest van dit artikel maakt het weinig of welke van de twee je gekozen hebt. De instructies om je eigen Thinstation-images aan te maken zijn immers dezelfde. In beide gevallen heb je ook redelijk wat schijfruimte nodig: reken op minstens 10GB. Nadat je de git-repository gekloond hebt naar jouw systeem, run je het volgende commando:

 

$ cd thinstation

$ sudo ./setup-chroot

 

Het opzetten van de chroot duurt de eerste keer wel even, omdat er nog heel wat zaken gedownload en gecompileerd moeten worden. Zodra dit voltooid is, krijg je een korte readme te zien met instructies voor de build root. Lees die aandachtig en sluit de readme af met de q-toets. Vervolgens navigeer je naar de “build”-subdirectory, waar je twee configuratiebestanden terug ziet: build.conf en thinstation.conf.builddtime. Met dat eerste bestand bepaal je welke pakketten jouw Thinstation-iso moet bevatten, terwijl het tweede bestand de eigenlijke Thinstation-sessie configureert.

 

Aangepaste build

De standaard build.conf is een symlink naar het voorbeeldbestand build.conf.example. Voordat je dit bestand aanpast, moet je hier even een kopie va maken:

 

$ rm build.conf

$ cp build.conf.example build.conf

 

Het build.conf-bestand is vrij goed gedocumenteerd, dus we stellen voor dat je dit vooral zelf grondig doorneemt. Belangrijke onderdelen zijn:

 

•Machine profile: dit bepaalt welke drivers worden opgenomen. Voor een zo groot mogelijke compatibiliteit vervang je het standaard “VMware” door “classic_generic”. Verder vind je hier ook instructies over hoe je een specifiek profiel voor bepaalde hardware aanmaakt.

•Modules: om ondersteuning toe te voegen voor bijvoorbeeld wireless networking of NFS- of Samba-storage

•Packages: hier kan je specifieke packages toevoegen of weglaten naar je eigen voorkeur. Heb je bijvoorbeeld geen boodschap aan de Citrix Receiver en VMware View, maar wil je wél ondersteuning voor NX en VNC? Hier pas je het aan. Ook videodrivers, taalondersteuning en extra lokale applicaties vind je hier terug

•Parameters: verschillende andere instellingen, zoals het root wachtwoord, de beeldschermresolutie, bureaubladachtergrond, enzovoorts.

 

Ben je klaar met je wijzigingen? Start dan volgend commando om de build te starten:

 

$ ./build

 

Enkele minuten later heb je drie nieuwe images: een iso-bestand om op cd te branden (of in VirtualBox te starten), een pxe-versie om via het netwerk te booten (hier gaan we niet dieper op in) en een syslinux-versie om naar een usb-stick te kopiëren. Wil je niet steeds die drie images, maar enkel bijvoorbeeld het syslinux-images? Pas dan de parameter “bootimages” in build.conf aan. Voor onze test kopiëren we de syslinux-versie naar een reeds aangekoppelde, als FAT32 geformatteerde usb-stick. Weigert die stick te booten? Controleer dan met een programma, zoals GParted, of de bootable flag wel gezet is voor de FAT32-partitie op de stick.

 

Sessie configureren

Intussen hebben we een image met alle benodigde drivers, de juiste resolutie en extra packages, zoals VNC of NX. Maar er is nog ruimte voor verbetering: de tijdzone is nog steeds niet correct en we zouden graag automatisch een remote sessie opstarten bij het booten. Daarom openen we nu het bestand thinstation.conf.buildtime in de build-omgeving. Thinstation ondersteunt nog talloze andere configuratieparameters: het voorbeeldbestand thinstation.conf.sample bevat ze allemaal. We raden je aan om dit bestand eens te bekijken om een beeld te krijgen van de mogelijkheden.

 

Extra mogelijkheden

In deze workshop hebben we ons beperkt tot de meest gebruikte opties om Thinstation aan te passen. Voor thuisgebruik volstaat het om één of enkele images aan te maken die specifiek geconfigureerd zijn voor bepaalde machines. In grotere omgevingen met meerdere thin clients wordt dat al gauw omslachtig. Thinstation ondersteunt echter een manier om configuratieparameters van meerdere bestanden in te lezen. Zo kan je instellingen uit het algemene configuratiebestand (thinstation.conf.buildtime) overschrijven voor een bepaalde groep machines, of voor specifieke machines op basis van hun hostname, IP-adres of MAC-adres. Die configuratiebestanden kan je op verschillende manieren binnenhalen op de thin clients tijdens het booten: via TFTP, HTTP of SCP. Op deze link vind je meer uitleg hierover.

In dergelijke omgevingen is het wellicht ook handiger om te booten via het netwerk (PXE) dan via een usb-stick. Zo houd je Thinstation immers ook eenvoudiger up-to-date, omdat je slechts op één locatie een nieuw image moet installeren. Tot slot willen we nog vermelden dat je ook extra packages kan toevoegen aan Thinstation. Dit is redelijk beknopt gedocumenteerd op de wiki, maar erg moeilijk is het niet. Wil je dus een bepaalde applicatie lokaal aanbieden op de thin clients of via een ander protocol verbinden met je server, dan is dat altijd mogelijk.

 

Conclusie

Ben je van plan om een extra PC te kopen voor bij jou thuis? Denk dan eens goed na of je geen gebruik kan maken van een bestaande computer via een thin client. In de meeste gevallen ben je dan goedkoper uit en het bespaart je ook wat tijd aan configuratie- en beheertaken. Je kan Thinstation eenvoudig testen via een (al dan niet aangepaste) live cd voordat je tot de aankoop van een thin client over moet gaan. Of je gebruikt gewoon een oude PC die te traag geworden is om lokaal alle applicaties te draaien!