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.
#! /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
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
.
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.
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
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,
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.
sudo apt-get install pepperflashplugin-nonfree sudo update-pepperflashplugin-nonfree --install
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.
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
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.
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
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
.
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
:
eth0
ierakstu;eth1
ierakstu pārsaucam par eth0
ierakstu.