Internet info korner (kiosk) s ekranom na dodir na Debianu 5.0

Ovaj članak će u biti napisan u obliku upute (popularno zvanog HOW-TO) za uređaj SGS Info kiosk I5000 dodjeljen mnogim ustanovama od strane MZOŠ-a. Za pogon info kioska je isporučeno i za današnje prilike solidno Asusovo računalo 3200. 433 MHz Integrated Graphics Chipset: Intel(R) 945G 512 MB RAM, 80 GB HDD. Elotouch serial interface monitor mouse ugrađen je pomoću IntelliTouch tehnologije. Računalo je orginalno došlo predinstalirano s Windows XP Home OS.

Moja ideja od dolaska tih uređaja je bila kako ograničiti upotrebu kioska za namjenu informiranja profesora, studenata i gostiju u pauzama predavanja i da se "vrte" nekakvi sadržaji koji služe promociji fakulteta dok se ne koristi. Naravno studenti, "poduzetni" kakvi jesu, počeli su se igrati s postavkama rotacije monitora, stavljanja raznih "šaljivih" desktop podloga, pisanju parola u "Paint" programu i stavljanju istih u slide show screen saver temu, iscrtavanju u beskonačnoj petlji shortcuta po desktopu itd. Tako da sam pri obilasku tih kioska nailazio na stvari koje je opet trebalo vratiti u prvobitno stanje što je trošilo moje vrijeme. Htio sam napraviti neko automatizirano rješenje održavanja kioska, koje neće dozvoljavati nikakve promjene u izgledu desktop teme, rotacije ekrana, home pagea i sl. Isprobao sam i programe poput Steady State ali su ga brzo "razmontirali" i opet uspjeli ostavljati dokumente na desktopu. Pokušavao sam isključivanjem po registry opcijama ugasiti mogućnost mijenjanja postavki desktopa, to sam uspio, ali nisam uspio naći opciju koja bi "ugasila" opciju "desni klik -> set picture as wallpaper background". Probao sam sa puno uputa ali nije uspjelo. Ako tko zna neka mi javi :) Radio sam i neke skripte ručno u "shutdown scripts". Sve to nije dobro radilo. I onda mi je ostalo riješenje Linuxa kao opcije, gdje se jasno neke opcije mogu "zakomentirati" i zabraniti. Samo, imao sam problem kako upogoniti touch screen na Linuxu i kako nisam našao uspješnu metodu instalacije drivera na neko vrijeme sam odustao od toga. Ali na moje zadovoljstvo poslije nekog vremena se pojavio driver u obliku gotovog paketa za Debian Linux što je riješilo većinu problema što se tiče info kioska. U postavkama drivera je postojao izgleda jedan bug koji cu komentirati u samoj uputi.

Ostale ideje mozaika kioska na Debian Linuxu sam pronašao na "sveznajućem" svijetu foruma, dokumentacije i sl. Sve sam to ujedinio u jednu cjelinu ovom uputom.

Cijela ova stvar je testirana na starijim računalima (334.096 MHz ,Matrox Graphics, Inc. MGA G100 , 196 MB RAM , 15 GB HDD) koja inače idu u otpis jer se više ne mogu koristiti za uredske potrebe a za potrebe info kioska su više nego dovoljne. Tako da čak orginalnu konfiguraciju u ovo recesijsko vrijeme možete iskoristiti za neke druge potrebe koje su zahtijevnije od pokretanja web preglednika, a umjesto njega za kiosk koristiti starije računalo sa manje resursa.

Instalacija i fino podešavanje info kioska.

U uputi ću opisati i fino podešavanje XFCE4 desktopa kojeg možda većina kolega ne koristi za desktop na Linuxu tako da mogu bez puno čitanja dokumentacije to napraviti. XFCE4 "lagani" desktop sam odabrao da ga starija računala mogu pokretati jer nije zahtijevan. Za instalaciju Debian Lenny 5.0 sam odbrao net install CD http://cdimage.debian.org/debian-cd/5.0.7/i386/iso-cd/debian-507-i386-netinst.iso zbog bržeg downloada i minimalnog sustava koji ne troši previše resursa te da točno doziramo pakete koje želimo imati na kiosku bez suvišnih paketa koje ne želimo na ovakvom tipu računala.

1. Instalacija Debian Lenny 5.0 sa net install CD-a (odabrao sam Standard install). Particioniranje i ostale odabire u instalaciji prepuštam vama na volju.

2. Nakon instalacije podestite postavke mreže da se mogu instalirati potrebni paketi. Postavljanje mreže neću objašnjavati pošto znam da većina sistemaca koristi Debian Lenny na serverima i Linux za desktop računala.

3. Repozitorije za pakete u /etc/apt/sources.list uredite po volji, moj izgleda ovako:

# deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 NETINST Binary-1 20100905-11:24]/ lenny main
#deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 NETINST Binary-1 20100905-11:24]/ lenny main
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main
#Carnet
deb http://ftp.carnet.hr/debian lenny main contrib non-free

4. Ako želite raditi udaljeno na računalu kioska potrebno je instalirati ssh paket koji nije default instaliran i ako želite raditi u vim editoru što je moj slučaj. Znači kao su korisnik instaliranje:

#apt-get install ssh
#apt-get install vim

5. Instalacija grafičkog okruženja Xfce4 desktopa koejg smo spomenuli u uvodu.

#apt-get install xfce4

6. Instalacija xserver-xorg-input-elographics paketa koji radi sa mnogim Elotouch screen uređajima. Meni se pokazao funkcionalan uz jednu prepravku.

# apt-get install xserver-xorg-input-elographics

7. U /etc/X11/xorg.conf sa nekim editorom unesite na kraj slijedeće retke.

Section "InputDevice"
Identifier  "Touchscreen"
Driver "elographics"
Option "screenno"    "0"
Option "ButtonNumber"  "1"
Option "ButtonThreshold" "17"
Option "Device" "/dev/ttyS0"
Option "InputFashion" "Touchpanel"
Option "MaxX" "22"
Option "MinX" "4025"
Option "MaxY" "3967"
Option "MinY" "75"
Option "Name" "ELO Touchscreen"
Option "ReportingMode" "Scaled"
Option "SendCoreEvents" "on"
EndSection

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Default Screen" 0 0
InputDevice "Touchscreen" "CorePointer"
EndSection

Objašnjenje nelogičnosti vrijednosti MaxX i MinX.

Pošto sam u orginalnoj konfiguraciji imao problema sa suprotnim kretanjem miša na dodir u suprotnom smjeru po X-osi, nakon dužeg proučavanja sam zaključio da treba okrenuti vrijednosti minimuma i maximuma po osi X. Nema neke logike, ali funkcionira.

Orginalno:

Option "MaxX" "22" "4025"
Option "MinX" "4025" "22"

Ova konfiguracija radi na 2 info kioska ovog tipa i trebala bi uobičajeno raditi na drugima. Temu kalibracije ekrana ovdje neću obrađivati pošto mi je miš na dodir radio sa korektnom preciznošću.

8. Restartajte računalo i ulogirajte se sa imenom korisnika kojeg ste kreirali tokom instalacije. U daljnjem tijeku upute kod mene je to korisnik "pingvin".

9. Ulogirajte se kao korisnik "pingvin"

10. Startajte grafičko okruženje iz komandne linije pošto nemamo za sada login managera za grafičku sustav koji ćemo naknadno instalirati i podesiti.

$startx

11. Instalacija web preglednika Iceweasel

#apt-get install iceweasel

Možemo odmah za početnu stranicu staviti stranicu koju želimo imati pri pokretanju preglednika.

12. Instalacija paketa Adobe flash playera potrebnog za pokretanje flash animacija.

#echo "deb http://www.backports.org/debian lenny-backports main contrib" >> /etc/apt/sources.list
#wget -O - http://backports.org/debian/archive.key | apt-key add -
#gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C
#wget -O - http://backports.org/debian/archive.key | apt-key add -
#apt-get update
#apt-get install flashplugin-nonfree

13. Instalacija pdf preglednika

#apt-get install epdfview

14. Po potrebi možete instalirati u druge pakete tipa Open office za otvaranje office dokumenata.

15. Instalacija virtualne tipkovnice

#apt-get install xvkbd

Isprobamo pokretanje xvkbd tipkovnice

16. Zatim prelazimo na fino podešavanje info kioska. Povećamo malo rezoluciju Panel managera na dnu ekrana radi lakšeg rada na dodir.

17. Kreiranje kratica na desktopu. Napravimo npr desni klik Home->Desktop->Create launcher

18. Napravimo desktop kratice za Iceweasel i XVKBD virtualnu tipkovnicu.

Na virtualnoj tipkovnici moramo isključiti automatsko klikanje jer će nam pri svakom dodiru klikati više istih slova. Pokrenemo xvkbd tipkovnicu I preko ikonice "xvkbd" (na samoj tipkovnici ) property promijenimo postavku "Automatic Click" u "OFF" kao na slikama.

19. U podešavanju sam se odlučio postaviti ciljanu desktop pozadinu i screen saver koju sam želio "u izlogu". Prikazano na slijedećim slikama.

20. Dodavanje novih funkcija u Panel Manager. Kao zgodna opcija mi se učinila prognoza vremena koju možemo instalirat s paketom.

#apt-get install weather plugin

Desni klik na Panel manageru I dodamo kroz "add new item" "Weather update". Podesimo po najbližem gradu ako već nemate svoj grad u popisu.

Desnim klikom na "add new item" dodamo u Panel manager i virtualnu tipkovnicu.

Pošto želim da mi svakim pokretanjem info kioska startaju web preglednik, virtualna tipkovnica i screen saver sa slikama koje sam postavio da se izmjenjuju u vrijeme nekorištenja kioska. Dodamo ih pomoću desni klik->settings->autostarted applications kao na slikama. Posebno ću obratiti pažnju na naredbu

$xcreensaver -nosplash

koju ako ne unesete u Autostarted application nikad neće startati screen saver koji ste željeli da se pokrene.

Poslije ovog kad je je dodano sve što je bilo planirano može se restartati X-sustav ili cijeli kiosk da vidimo je li sve funkcionira. Ako smo zadovoljni rezultatom prelazimo na "zaleđivanje" postavki "kiosk " korisnika kojem ćemo svakim gašenjem kioska na cron servirati "čisto" radno stanje bez stvari koje je netko prethodni dan ostavio na desktopu i sl.

To se napravi na sljedeći način:

Napravimo kopiju home direktorija korisnika "pingvin" u root direktorij.

#cp -R /home/pingvin /root/pingvin_bk

Generiramo korisnika "kiosk " koji će se automatski pokretati pri startanju kisoka.

#adduser kiosk

Zatim u /root direktoriju napravimo slijedeću skriptu koja će svakim gašenjem preko crontaba brisati sadržaj home direktorija korisnika "kiosk" u u njega kopirati sadržaj direktorija "pingvin_bk" koja uvijek vraća prvobitno stanje postavki koje smo mi željeli imati na info kiosku.

#cd /root
#vim home.sh

Sadržaj skripte:

#!/bin/sh
HOME=/root
LOGNAME=0
PATH=/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/bash

rm -rf /home/kiosk
cp -Ra /root/pingvin_bk /home/kiosk
chown -R kiosk:kiosk /home/kiosk
shutdown -h now

Skripti damo izvršne ovlasti.

#chmod a+x home.sh

Dodamo izvršavanje skripte u crontab u vrijeme koje želimo da se info kiosk ugasi. U mom slučaju ju je to 20:00 navečer, svaki dan. Ovdje se možete igrati sa postavkama u crontabu po svojim željema.

#crontab -e

Unesemo u crontab:

# m h dom mon dow  command
00 20 * * * /bin/bash /root/home.sh

Nakon što smo napravili sve ovo trebamo omogućiti da se korisnik "kiosk" pokreće automatski kod pokretanja kioska bez da unosi lozinku. To sam napravio pomoću paketa "nodm". Nodm je automatski display manager koji automatski starta X sustav kod pokretanja boota sistema.

Instalacija paketa nodm.

#apt-get install nodm

U konfiguraciji nodm-a unesemo opciju "true" i navedemo kao NODM_USER korisnika "kiosk".

vim /etc/default/nodm
NODM_ENABLED=true
NODM_USER=kiosk

Spremimo postavke od nodm i ponovno pokrenemo kiosk i možemo ga ako smo zadovoljni pustiti u pogon.

Kuharice: 
Kategorije: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (3 votes)