Satura rādītājs

Web kiosks uz Ubuntu bāzes

:!: Optimizējama instalācija, bet šis variants strādā.

Konfigurācija var darboties web kiosku aparatūras, t.i. ar skārienjūtīgiem ekrāniem (novecojuši varianti var nestrādāt). Kā variants - var būt mašīnas arī ar parasto klaviatūru un peli, bet tad, iespējams, nepieciešams mazliet piestrādāt pie doršības mašīnai startējoties.

Tehnisko prasību ziņā: pietiek ar 512Mb RAM un kādu celeron procesoru. Iepriekš iekārtu darbināja Windows XP ar igauņu Infokiosk programmatūru virsū.

Rezultātā ir jāsanāk tādam: http://imants.from.lv/721-web-kiosks-uz-ubuntu-14-04-bazes/

Bet nedaudz pielabojot konfigurāciju ir iespēja izmantot datorus daudzos variantos - piemēram, darba stacija ar iespēju palaist LibreOffice un pārlūku; organizācijas infokiosk - darbojas tikai vienas lapas - domēna ietvaros, utt.

Instalējam Ubuntu no minimālā distributība. Kad piedāvā izvēlēties uzstādāmo programmatūru - neko neizvēlamies.

Uzstādām nepieciešamās pakotnes:

sudo apt-get install xorg lightdm matchbox-window-manager chromium-browser rsync alsa onboard

Ērtībai var papildus uzstādīt:

sudo apt-get install openssh-server mc

Izveidojam kiosk lietotāju: adduser kiosk.

Katalogā /opt iekopējam izpakotu kiosk.zip saturu. No iekopētā uz kiosk lietotāja mājas katalogu /home/kiosk pārkopējam .xsession failu.

.xsession
#! /bin/bash
xset s 600 # Pēc tik sekundēm izslēdzam ekrānu
xset -dpms
matchbox-window-manager &
alsactl restore 0
amixer set Master 80% # Gadījumam, ja par klusu skaņa
onboard &
#onboard-settings &
url='http://example.com/?h='
xautolock -secure -time 10 -locker /opt/kill_chromium.sh &
while true; do
    rsync -qr --delete /opt/kiosk/ $HOME/
#    xterm
    chromium-browser --touch-events=enabled --touch-devices=8 --incognito $url$(hostname)
done

Konfigurējam kioska automātisko palaišanu ar kiosk lietotāja tiesībām. Izveidojam failu 50-autologin.conf katalogā /usr/share/lightdm/lightdm.conf.d.

50-autologin.conf
[SeatDefaults]
autologin-user=kiosk
user-session=default

Lai palaižoties tiktu nolasīts lietotāja .xsession konfigurācija mājas katalogā veidojam failu default.desktop katalogā /usr/share/xsessions.

default.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Run .xsession script
Comment=This session runs the .xsession script
Exec=default
Type=Application

:!: Iespējams, ka varētu noderēt arī šādi faili.

/etc/X11/Xsession.d/01x11-common_setup-vars
OPTIONFILE=${OPTIONFILE:-/etc/X11/Xsession.options}
SYSRESOURCES=${SYSRESOURCES:-/etc/X11/Xresources}
USRRESOURCES=${USRRESOURCES:-$HOME/.Xresources}
SYSSESSIONDIR=${SYSSESSIONDIR:-/etc/X11/Xsession.d}
USERXSESSION=${USERXSESSION:-$HOME/.xsession}
USERXSESSIONRC=${USERXSESSIONRC:-$HOME/.xsessionrc}
ALTUSERXSESSION=${ALTUSERXSESSION:-$HOME/.Xsession}
ERRFILE=${ERRFILE:-$HOME/.xsession-errors}
/home/kiosk/.dmrc
[Desktop]
Session=default

TouchScreen kalibrēšana

sudo apt-get install xinput-calibrator

Jāieraksta xinput_calibrator palaišanas .xsession skriptā un palaižoties ir jāveic kalibrēšana. Aizkomentējam nevajadzīgo lai izvairītos no tā palaišanās.

Lai veiktā kalibrēšana saglabātos, rezultāti ir jāiekopē no (log failu meklēt lietotāja katalogā) uz /usr/share/X11/xorg.conf.d/90-calibration.conf.

Saite: How to - Ubuntu 12.04 Touchscreen calibration

onboard

Layouts jāatrodas /usr/share/onboard/layouts. Iekopējam tur šī faila saturu onboard-layouts.zip.

:!: Ja veidojam no nulles - bez faila iekopēšanas /opt sadaļā: Pēc iekopēšanas ir jāatver onboard uzstādījumi un jāveic nepieciešamā konfigurēšana. :!: Layoutu pieslēdzam tikai pēc pārliecināšanās, ka viss pārejais strādā kā vajag. Neveiksmes gadījumā - noņemam komentu onboard-settings & rindai .xsession failā un pārstartējamies.

chromium-browser

Lai uz skārienjūtīgā ekrāna varētu ritināt līdzīgi kā planšetēs skaties Chromium konfigurēšana darbam ar touchscreen

Lai varētu skatīties PDF, DOC utml dokumentus - uzstādām Dokumentu PDF/PowerPoint skatītāju

Chromium Policy List

Kā alternatīvu var apskatīt paša Chromiuma Policy List. Veidojam failu

/etc/chromium/policies/managed/policy.json
{
  "URLBlacklist": ["chrome://*", "file://*"]
}

Ja lietojam apparmor, tad jāpārliecinās, ka piekļuve failam lasīšanai ir atļauta. Konfigurācijas failā ir jābūt ierakstam.

# Atļaujam policy konfigurēšanas faila lasīšanu
/etc/chromium/policies/managed/policy.json r,

Chromium konfigurēšana darbam ar touchscreen

Lai varētu bīdīt lapas ar pirkstu augšup-lejup, ir nepieciešamas veikt sekojošo.

Definējam touchscreena iekārtas identifikātoru:

xinput list

un tad chromiuma palaišanas komandu papildinam ar sekojošu atslēgu:

--touch-events=enabled --touch-devices=id

, kur id ir iekārtas id.

Flash pārlūkam

sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install

Konfigurācijas atjaunināšana pēc lietotāja

sudo apt-get install xautolock

Izveidojam failu

/opt/kill_chromium.sh
#!/bin/sh
pkill chromium-browse

.xsession failā pirms cikla pievienojam

xautolock -secure -time 4 -locker /opt/kill_chromium.sh &

4 - bezdarbības laiks minūtēs, pēc kura tiek palaists svaigs pārlūks.

Ierobežojam piekļūšanu diska saturam

sudo apt-get install apparmor apparmor-profiles apparmor-utils
sudo aa-enforce /etc/apparmor.d/usr.bin.chromium-browser.org

AppArmor profila atslēgšana (uz laiku?)

sudo ln -s /etc/apparmor.d/{profile.name-here} /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/{profile.name-name-here}

AppArmor statusa apskate

sudo aa-status

WiFi pieslēguma konfigurēšana

Pārliecināmies, ka Ubuntu atrod wlan iekārtu, piemēram wlan0, pievienojam /etc/network/interfaces sekojošas rindiņas.

auto wlan0
iface wlan0 inet dhcp
wireless-essid MYNETWORK

MYNETWORK - wifi tīkls pie kura jānotiek pieslēgšanai.

Automātiska jauninājumu ielāde un uzstādīšana

Pamainam crontab laikus. Iespējams, ka uz nakti kiosks var tikt izslēgts.

:!: Tomēr ieteiktu atjaunināšanos veikt ar rokām, jo vienā jaukā dienā pēc ielāpiem kiosks var darboties ne tā kā vajag. Bija pieredze ar gdm, kad pēc viena ielāpa viss strādāja ne tā kā vajag.

Veidojam failu

/etc/cron.weekly/upgrade
#!/bin/sh
#/usr/bin/apt-get update > /dev/null
#/usr/bin/apt-get -y upgrade > /dev/null
#/usr/bin/apt-get -y autoremove > /dev/null

Automātiska izslēgšanās un ieslēgšanās

crotab failā uz vajadzīgo laiku atstājam sekojošu ierakstu

#m h dom mon dow user command
45 19 * * * root poweroff

Ļoti iespējams, ka BIOS laiks būs UTC, tad rodas problēmas ar pareizu ieslēgšanās laika uzstādīšanu BIOSā. Labojam /etc/default/rcS uztādām UTC=no.

Klonēšanas nianses

Neaizmirstam pamainīt failos /etc/hosts un /etc/hostname kioska nosaukumu.

Noskaidrot informāciju par tīkla karti:

sudo lswh -class network

Pastāv liela varbūtība, ka nenotiek automātiska pieslēgšanās tīklam. Saistīts tas ar to, ka mainoties tīkla kartei, Ubuntu to nosaka kā eth1, bet /etc/network/interfaces ir konfigurācija tikai priekš eth0.

Labojam /etc/udev/rules.d/70-persistent-net.rules:

Saites