top
logo


Web-kiosk с помощью Thinstation PDF Печать E-mail
Автор: adm   
27.11.13 16:04

Web-kiosk с помощью Thinstation

 

Есть задача - создать Web-kiosk, имеется много тонких клиентов, денег за софт платить не хочется.
Поискав в интернете, натолкнулся на хорошую статью:
http://thin.kiev.ua/index.php?option=com_content&view=article&id=84:make&catid=43:os&Itemid=67
За что автору отдельное спасибо.
Пройдя по туториалу, натолкнулся на 2 вещи - не кастомизируется Firefox, неверный конфиг для загрузки Firefox в автоматическом режиме.
Вот конфиг для загрузки (thinstation.conf-XXXXXXXXX), где XXXX - MAC-адрес тонкого клиента:

AUTOSTART=on
#SESSION_0_TYPE=icewm
SESSION_0_TYPE=FIREFOX
SESSION_0_FIREFOX_HOMEPAGE=http://www.google.com
SESSION_0_AUTOSTART=on
USB_ENABLED=on
TIME_ZOME="UTC+2:00"
SCREEN_RESOLUTION="800x600"
SCREEN_BLANK_TIME="1440"
SCREEN_STANDBY_TIME="1440"
SCREEN_SUSPEND_TIME="1440"
SCREEN_OFF_TIME="1440"
NET_HOSTNAME=ts_*


А вот с Firefox`ом пришлось помучаться, изначально он каждый раз нагло спрашивал, нужно ли отправлять данные через незащищенный канал. Решается так:

На первом этапе мы устанавливаем Firefox 2.0.0.20 на виндовую машину (так проще) и настраиваем все как хотим (чтоб ничего никогда не спрашивало, размер кэша по минимуму, и т.д.).
Устанавливаем аддон R-kiosk, тщательно все тестим на винде. Теперь редактируем prefs.js из профиля, у меня (C:\Documents and Settings\User\Application Data\Mozilla\Firefox\Profiles\9o7x1my2.default), ищем строки вида: user_pref("browser.startup.homepage и удаляем их. Содержимое 9o7x1my2.default копируем в TS.default

Второй этап - я к нему долго шел. Дело в том что когда стартует thinstation, скрипт firefox.init смотрит, есть ли файл prefs.js, если его нет - то создает его и вставляет домашнюю страницу, если нет - то нет. Так получается, что если профиль настроен, то домашнюю из конф-файла не поменяешь. Пришлось изменить firefox.init:

#! /bin/sh

. /etc/thinstation.global

case "$1" in
init)
if ! pkg_initialized $PACKAGE; then
pkg_set_init_flag $PACKAGE
if [ ! -e $HOME/.mozilla ] ; then
mkdir $HOME/.mozilla
fi
if [ ! -e $HOME/.mozilla/firefox ] ; then
mkdir $HOME/.mozilla/firefox
cp /etc/firefox/profiles.tpl $HOME/.mozilla/firefox/profiles.ini
fi
if [ ! -e $HOME/.mozilla/firefox/TS.default ] ; then
cp -a /etc/TS.default $HOME/.mozilla/firefox
fi
FFPREFS=$HOME/.mozilla/firefox/TS.default/prefs.js
# if [ ! -e $FFPREFS ] ; then
FF_HOMEPAGE="http://thinstation.org"
. $TS_GLOBAL
let x=0
# Add any configuration parameters
while [ -n "`eval echo '$SESSION_'$x'_TYPE'`" ] ; do
FFTYPE=`eval echo '$SESSION_'$x'_TYPE'`
if [ "`make_caps $FFTYPE`" = "FIREFOX" ] ; then
FFHP=`eval echo '$SESSION_'$x'_FIREFOX_HOMEPAGE'`
fi
let x=x+1
done
if [ -n "$FFHP" ] ; then
FF_HOMEPAGE=$FFHP
fi
echo 'user_pref("browser.startup.homepage", "'$FF_HOMEPAGE'");\n' >> $FFPREFS
echo 'user_pref("browser.startup.homepage_override.mstone", "ignore");\n' >> $FFPREFS
# fi
fi
;;
esac

exit 0


Я закоментил две строчки и указал дозапись в файл $FFPREFS а не запись (>>).

Теперь можно билдить. Все работает. На всякий случай скажу, что мне пришлось поднять локально apache и скопировать туда инсталяхи firefox и flash, а еще доставить в Ubuntu binutils, чтоб flash установился. На всякий случай, мой build.conf:

# Drivers for networking
module agpgart # AGP bus module for use with AGP video cards
module e100
module ne2k-pci # PCI version of NE-2000
module via-rhine
module via-agp # VIA chipset support
module via-velocity # VIA Velocity support
module 8139too # RealTek RTL-8139 PCI Fast Ethernet Adapter support
module eepro # EtherExpressPro support/EtherExpress 10 (i82595)
module pcnet32 # Vwmare
module sis900 # SiS 900/7016 PCI Fast Ethernet Adapter support
# X
package xorg6-vesa # Generic VESA driver, use this if you don't know what to use
package keymaps-en_us # English-United States
package keymaps-ru # Russian
# Packages
package ssh # Secure Shell client
package scp
module usb-hid # USB keyboard
module nfs # NFS file system support
# Firefox and shells
package firefox
param firefoxurl http://127.0.0.1/firefox-2.0.0.20.tar.gz
package flash
param flashurl http://127.0.0.1/install_flash_player_9_linux.tar.gz
package icewm
package xterm

param rootpasswd root

param bootlogo true # Want a backgound picture during boot
param bootresolution 800x600

#Parameters for boot configuration files
param defaultconfig thinstation.conf.buildtime # The file with default setup
param basename thinstation # used for all config/tftp file names
param basepath . # used to determine path to tftp files
param localpkgs true # to determine is PKG files are to be loaded locally
param fulllocales true # Use full locale support for packages
param bootvebosity 3 # Increased vebosity when booting TS

module nls_cp1250
module nls_cp1251
module nls_iso8859-5
module nls_cp437
module nls_cp866
module nls_koi8-r
module nls_koi8-u
module nls_koi8-ru
module nls_utf8

 

источник: http://sderevyanko.blogspot.ru/2010/03/web-kiosk-thinstation.html

{jcomments on}

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика