Jak uruchomić prosty publicznie dostępny kiosk internetowy?
To proste, potrzebujemy przeglądarki internetowej i już. Ale jest pewien problem: zwykle przeglądarka udostępnia użytkownikowi wszystkie wbudowane opcje (pobieranie plików itp), użytkownik może też zamknąć przeglądarkę (lub zminimalizować) i buszować po systemie. A to może spowodować, że kolejny użytkownik, być może, nie będzie umiał skorzystać z takiego kiosku.
Co zatem zrobić?
Użyć Opery. Opera jako jedyna znana mi przeglądarka ma wbudowany tryb pracy kiosk. Przed instalacją warto jednak się zastanowić jaki wybrać system operacyjny. Pierwsze, co przychodzi do głowy to Windows
. Instalacja szybka, łatwa i przyjemna. Jest jednak pewien problem: przeglądarka (ani żadna inna aplikacja) nie jest w stanie przechwycić i wyłączyć kombinacji CTRL+ALT+DEL. Trzeba by było podmienić windowsowy podsystem autentykacji GINA. Da się to zrobić, ale wymaga trochę pracy. Dodatkowo, Windows jest trochę za ciężki dla starszego komputera. No i obciach w razie restartu – widać, że pod spodem uruchamia się Windows.
Alternatywa?
Oczywiście, jedna z odmian linuxa. Ja wybrałem ubuntu z uwagi na popularność i dość dobre mechanizmy wykrywania sprzętu. Dodatkowo, postanowiłem zacząć od instalacji minimalnej, aby jak najbardziej odchudzić system. Dzięki temu taki kiosk można uruchomić na czymkolwiek.
Instalacja podstawowa
Pobieramy i wypalamy Ubuntu minimal CD. Instalacja potrwa małą chwilę, ponieważ pakiety są pobierane z sieci.
Po instalacji warto zainstalować ssh oraz acpi.
aptitude install ssh acpid
W pliku /boot/grub/grub.cfg dodajemy jeszcze opcję acpi=force do parametrów jądra. Pozwoli nam to obsłużyć „miękkie” wyłączanie systemu przyciskiem zasilania.
Następnie instalujemy Xsy.
aptitude install xserver-xorg xinit
Trzeba je skonfigurować. Najprostsza metoda, to uruchomienie Knoppixa (wersja 5.0 i wyższe) i skopiowanie pliku konfiguracji /etc/X11/xorg.conf na dysk. Knoppix doskonale wykrywa i konfiguruje większość urządzeń.
Można też użyć polecenia:
Xorg -configure
Następnie sprawdzamy, czy Xsy uruchamiają się poprawnie:
Xorg -config xorg.conf.new -retro
Utworzy ono plik xorg.conf.new w katalogu domowym użytkownika. należy go skopiować na właściwe miejsce:
cp ~/xorg.conf.new /etc/X11/xorg.conf
Teraz instalujemy operę (w tym przypadku jest to opera_10.10.4742):
echo „deb http://deb.opera.com/opera stable non-free” >> /etc/apt/sources.list
wget -O – http://deb.opera.com/archive.key | sudo apt-key add -
aptitude update
aptitude install opera
Jeśli chcemy pluginy do javy, pfd i flash, trzeba je doinstalować:
Java:
aptitude install sun-java6-bin sun-java6-jre sun-java6-plugin
Adobe Reader
wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.3/enu/AdbeRdr9.3-1_i386linux_enu.deb
dpkg -i AdbeRdr9.3-1_i386linux_enu.deb
Adobe Flash
wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.deb
dpkg -i install_flash_player_10_linux.deb
Teraz tworzymy użytkownika, który będzie uruchamiał całość:
useradd internet …
passwd internet
Logujemy się jako użytkownik internet i tworzymy plik ~/.xinitrc:
echo „opera” > /home/internet/.xinitrc
uruchamiamy Xsy:
startx
Po uruchomieniu Xsów powinna uruchomić się opera (na razie w zwykłym trybie). jeśłi obraz wygląda kiepsko wracamy do konfiguracji Xsów. Teraz czas sprawdzić czy opera widzi pluginy:
Narzędzia -> preferencje -> zaawansowane -> zawartość -> opcje wtyczek
Jeśli opera nie widzi pluginów, zaglądamy do sekcji „Znane problemy”.
Możemy teraz dokonfigurować Operę do naszych potrzeb: ustawiamy stronę domową oraz filtrowanie adresów:
opera:config – network – URL filter file – /home/internet/.opera/urlfilter.ini
Szczegóły można znaleźć na http://www.opera.com/support/mastering/kiosk/#url-filter
Oto przykładowa zawartość pliku /home/internet/.opera/urlfilter.ini
[prefs]
prioritize excludelist=0[include]
http://???.opera.com/*
[exclude]
*
Końcówka – uszczelnianie i automatyzacja
Uszczelniamy konfigurację xorg dodając na końcu (dzięki temu nie da się np. zabić xserwera oraz przełączyć na konsolę tekstową):
Section „ServerFlags”
Option „DontZap” „true”
Option „DontVTSwitch” „true”
Option „DontZoom” „true”
EndSection
rekonfigurujemy uprawnienia do uruchamiania Xserwera (pozwalamy wszystkim):
dpkg-reconfigure x11-common
Modyfikujemy .xinitrc do postaci:
opera -kioskmode -kioskresetstation -nocontextmenu -nodownload -noexit -nokeys -nomail -nomaillinks -nomenu -noprint -nosave -resetonexit http://text.pl/
Szczegóły ustawień można znaleźć na http://www.opera.com/support/mastering/kiosk/
Automatyzacja wszystkiego:
w /etc/init/tty1.conf zmieniamy ostatnią linię do postaci:
exec /bin/login -f bakai < /dev/tty1 > /dev/tty1 2>&1
oraz w .bashrc dodajemy na koncu:
if [ $(tty) == "/dev/tty1" ]; then
startx > /dev/null
fi
Znane problemy:
W przypadku, gdy opera nie wykrywa poprawnie zainstalowanych modułów może pomóc:
instalacja brakującej biblioteki
aptitude install libnss3-1d
i/lub przekopiowanie modułu
cp /usr/lib/mozilla/plugins/nppdf.so /usr/lib/opera/plugins/nppdf.so
Efekty:
Czas uruchamiania od naciśnięcia włącznika do załadowania strony <30 sek. na komputerze celeron 1,7GHz 128MB.
Czas zamknięcia do wyłączenia zasilania <5 sek.