====== 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 [[http://libreoffice.org/|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 {{:linux:web-kiosks-uz-ubuntu-bazes:kiosk.zip|}} saturu. No iekopētā uz ''kiosk'' lietotāja mājas katalogu ''/home/kiosk'' pārkopējam ''.xsession'' failu.
#! /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''.
[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''.
[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.
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}
[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: [[http://www.thefanclub.co.za/how-to/how-ubuntu-1204-touchscreen-calibration|How to - Ubuntu 12.04 Touchscreen calibration]]
===== onboard =====
Layouts jāatrodas ''/usr/share/onboard/layouts''. Iekopējam tur šī faila saturu {{:linux:web-kiosks-uz-ubuntu-bazes: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 [[https://chrome.google.com/webstore/detail/docs-pdfpowerpoint-viewer/nnbmlagghjjcbdhgmkedmbmedengocbn|Dokumentu PDF/PowerPoint skatītāju]]
===== Chromium Policy List =====
Kā alternatīvu var apskatīt paša Chromiuma Policy List. Veidojam failu
{
"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,
* [[http://www.chromium.org/administrators/policy-list-3|Policy List]]
* [[http://www.chromium.org/developers/how-tos/enterprise/adding-new-policies|Linux Quick Start]]
===== 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
#!/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
#!/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'':
* likvidējam veco ''eth0'' ierakstu;
* ''eth1'' ierakstu pārsaucam par ''eth0'' ierakstu.
===== Saites =====
* [[http://wiki.openmoko.org/wiki/Window_Manager_Startup|MatchBox Window Manager Wiki]]
* [[http://peter.sh/experiments/chromium-command-line-switches/|List of Chromium Command Line Switches]]
* [[https://help.ubuntu.com/community/AppArmor|AppArmor]]
* [[http://www.gtricks.com/chrome/scroll-bar-without-extension/|Resize and Style Google Chrome Scroll bar without Extension]] (novecojis)
* [[http://www.insanitybit.com/2012/05/29/apparmor-how-to/|AppArmor How-To]]
* [[http://nexxylove.tumblr.com/post/22690398464/ubuntu-web-kiosk-in-10-easy-steps|Ubuntu 12.04 Kiosk in 10 Easy Steps]]
* [[http://stackoverflow.com/questions/21948850/google-chrome-custom-css-webkit-scrollbar-no-longer-works|Google Chrome Custom.css webkit-scrollbar no longer works]]
* [[http://users.telenet.be/mydotcom/howto/linuxkiosk/intro.htm|Linux Kiosk systems]]
* [[http://www.techpository.com/?page_id=1371|Linux: How to setup a Kiosk using Ubuntu]] - wifi
* [[http://www.alandmoore.com/blog/2011/11/05/creating-a-kiosk-with-linux-and-x11-2011-edition/|Creating a kiosk with Linux and X11: 2011 edition]]
* [[http://www.witti.ws/blog/2013/03/13/linux-web-kiosk-online-evaluations|
Linux Web Kiosk for Online Evaluations]] - saišu saraksts
* [[https://wiki.ubuntu.com/kioskFluxbox|kioskFluxbox]]
{{tag>web-kiosks ubuntu linux chromium apparmor}}