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
comments on}
|