A quick note for my English (regular) readers: this article is written in Dutch and not at all related to the usual subjects I write about. Dutch alert after the break.
Sinds vorig jaar september is het digitale wedstrijd formulier (DWF) van de Nevobo beschikbaar. Naar mijn idee een goede ontwikkeling in het digitale tijdperk waarin we ons bevinden, het scheelt simpelweg veel administratieve last voor bijvoorbeeld de wedstrijdleiding van verenigingen. Daarnaast zorgt het voor een betere informatievoorziening doordat wedstrijduitslagen direct beschikbaar zijn op de website van de Nevobo.
Als ‘verenigingsnerd’ werd mij gevraagd om een aantal laptops in te richten t.b.v. het DWF. Met mijn ervaring leek mij dat op het eerste gezicht een simpele taak, echter komt er toch wel het één en ander bij kijken. Een aantal zaken waar je rekening mee moet houden:
- Licenties, de laptops werden in ons geval gesponsord door een bedrijf uit de buurt. Het nadeel is echter wel dat bedrijven vaak werken met volume licenties (grote overeenkomsten). Als laptops worden weggegeven worden deze compleet leeggemaakt, en dus ook een eventuele Windows installatie is niet beschikbaar. Nu klinkt het natuurlijk aantrekkelijk om een cdtje te lenen van iemand anders en zo Windows te installeren, maar ook als club heb je gewoon de verplichting om te voldoen aan de geldende licentie regelgeving! Dan is er nog een optie om de licenties aan te schaffen, maar dit kan voor een aantal laptops toch behoorlijk in de papieren gaan lopen (Windows 8 kost bijvoorbeeld €120,-). Het werd voor mij duidelijk dat de oplossing gratis (open-source) moest zijn, als besturingssysteem heb ik gekozen voor Ubuntu.
- Bescherming, de laptops worden ingezet voor het DWF het is natuurlijk zaak om dit zo robuust mogelijk te laten verlopen. Bij mij kwam al snel het idee om de laptop in een Kiosk mode te laten draaien (dit is een mode waarbij de webbrowser in een volledig scherm wordt opgestart met één specifieke website, in dit geval het DWF). Op deze manier voorkom je dat andere websites benadert kunnen worden, met alle gevaren van dien (virusbesmetting etc.) Daarnaast is het natuurlijk niet de bedoeling dat men bijvoorbeeld op Facebook gaat rondkijken tijdens een wedstrijd! Het twee uitgangspunt is dus dat de laptops zo robuust mogelijk moeten worden ingericht.
- Netwerkverbinding/ WiFi, voor het DWF is een internet verbinding nodig. Vaak is deze mogelijkheid in een sporthal nog niet aanwezig, met name om WiFi dekking in de hal te realiseren kan nog wel eens uitdagend zijn. Hou hier bij de technische inrichting dus rekening mee. Wij gaan als vereniging naar een nieuwe hal toe, hierbij wordt al rekening gehouden met WiFi dekking in de hal.
Deze blog richt zich met name op de technische inrichting van laptops voor het DWF, enige technische (ICT) kennis is wel vereist en ervaring met Linux is mooi meegenomen.
Stap 1: installatie van Ubuntu
De eerste stap is de installatie van Ubuntu op de laptop, ik heb gekozen voor de LTS versie van Ubnutu (12.04). Ik heb een LTS (Long Term Support) versie gekozen zodat deze ook voor langere tijd voorzien wordt van ondersteuning. Ubuntu is gratis, dus je hebt niet te maken met licentiekosten. De installatie van Ubuntu is redelijk eenvoudig en vergelijkbaar met de installatie van Windows. Het gaat te ver om in deze blog post de volledige installatie van Ubuntu toe te lichten, hiervoor is uitstekende documentatie beschikbaar op de website van Ubuntu. Tijdens de installatie moet je ook een gebruikersaccount aanmaken, het is handig om h ier te kiezen voor de naam van de beheerder van de laptop.
Stap 2: het aanmaken van een gebruikersaccount voor de tellers
De tweede stap is het aanmaken van een gebruikersaccount specifiek voor de tellers die gebruik gaan maken van de laptop. Dit is een normale gebruikersaccount zonder beheer rechten. In een aantal stappen is deze account aan te maken:
1. Ga naar de dash home, en zoek op “gebruikersaccounts”.
2. Voeg een nieuwe gebruiker toe door op het plusje te klikken.
Ik heb gekozen voor de naam teller, het type account is gewoon een ‘standard’ type.
Standaard zijn de gebruikers uitgeschakeld, we moeten de gebruiker dus inschakelen.
Stap 3: het installeren van nodm en Chromium
Nodm is een display manager voor Ubuntu, het zorgt voor de grafische afhandeling van het systeem. Het mooie van nodm is dat je één specifieke applicatie kunt opstarten, in ons geval gaan we een browser opstarten in volledige modus. De laptop kan dus niet voor andere zaken gebruikt worden, exact wat we graag willen bereiken.
Ga naar Ubnutu software center, en zoek vervolgens op ‘nodm’. Klik nu op “install” om het installeren te starten.
Chromium is een web browser, het is eigenlijk een variant van Chrome. Nu we toch in het software center zijn installeren we deze ook even:
Stap 4: inloggen met de nieuwe gebruiker en een xsession bestand aanmaken
Dit is de voorbereiding op de volgende stap, een xsession bestand is nodig voor nodm. In dit bestand zet je een opstart configuratie voor X, in dit geval dus nodm.
Ik heb het volgende script samengesteld, het start automatisch de site van het DWF op in de Chromium web browser:
#!/usr/bin/env bash xsetroot -cursor_name left_ptr res=$(xrandr -q | awk -F'current' -F',' 'NR==1 {gsub("( |current)","");print $2}') resx=$(echo $res | awk '{split($0,array,"x")} END{print array[1]}') resy=$(echo $res | awk '{split($0,array,"x")} END{print array[2]}') while true; do chromium-browser --window-size=$resx,$resy --start-maximized --kiosk http://dwf.volleybal.nl; sleep 5s; done
Stap 5: aanpassen van Chromium autofill en wachtwoord opslaan opties
Deze stap is optioneel, maar ik raad hem wel aan. De laptop zal door meerdere tellers met meerdere wachtwoorden en e-mailadressen gebruikt worden. Niets is zo vervelend als een wachtwoord dat is opgeslagen door een vorige gebruiker van de laptop. Schakel onder de geavanceerde opties van Chromium de volgende twee zaken uit:
Stap 6: nodm activeren/ configureren en LightDM uitschakelen.
Na de installatie van nodm moeten we ervoor zorgen dat nodm ook daadwerkelijk start als standaard display manager. Allereerst moeten we nodm activeren, dit doe je door in de file /etc/defaults/nodm aan te passen.
De twee weergegeven regels moeten worden aangepast:
Standaard staan deze waarden op “false” en op “root”, uiteraard is “teller” hier de naam van de gebruiker die we eerder hebben aangemaakt.
Nu nodm is ingeschakeld moeten we er nog voor zorgen dat LightDM niet meer opstart. LightDM is de standaard display manager van Ubuntu en zal dus altijd standaard opstarten.
Door middel van het onderstaande commando wordt LightDM uitgeschakeld:
echo "manual" | sudo tee -a /etc/init/lightdm.override
Stap 7: de aangemaakte gebruikersaccount automatisch laten inloggen
Nu alle stappen voltooid zijn moeten we ervoor zorgen dat de aangemaakte gebruikersaccount automatisch inlogt, dit doe je wederom in “User accounts”. Ik heb de onderstaande instellingen gemaakt:
Stap 8: herstart van de laptop
Alle benodigde zaken zijn nu geconfigureerd, maar voordat je de laptop herstart is het verstandig om eerst alle noodzakelijke instellingen voor je netwerk of WiFi te maken. Nadat de laptop is herstart is het namelijk lastig om aanpassingen te maken, de enige optie om weer bij het systeem te komen is via de recovery modus.
Als alles goed is gegaan ziet het er als volgt uit:
Zoals je kunt zien is er geen mogelijkheid om andere pagina’s te bezoeken. De enige mogelijkheid die aanwezig is, is de mogelijkheid om terug te keren naar volleybal.nl. Wat ik een beetje mis op de Nevobo site is een handige link naar het DWF (bijvoorbeeld op de homepage), je kunt snel naar volleybal.nl maar niet snel terug naar het DWF. Het uitschakelen van de laptop gaat eenvoudig via de uit knop van de laptop, de laptop wordt dan op een nette manier afgesloten. Er is verder geen knop in de software dus dit is de enige optie.
Dat brengt ons aan het einde van deze blog post, het is een erg lange post geworden maar hopelijk helpt het andere verenigingen om laptops geschikt te maken voor het DWF. Mocht je gebruik maken van deze post dan stel ik een berichtje erg op prijs. Vragen zal ik proberen te beantwoorden (a.u.b. via de comments!)