Ключевые слова:kiosk, x11, xorg, epiphany, linux, session, (найти похожие документы)
From: Pawn Hearts <http://pawnhearts.livejournal.com>
Date: Mon, 26 Jan 2008 18:21:07 +0000 (UTC)
Subject: Создание интернет киоска на базе Linux и Epiphany
Оригинал: http://pawnhearts.livejournal.com/52119.html
Преимущества линукс в этой сфере:
* надежность
* небольшие системные требования
* переносимость(теоретически можно сделать киоск, например, из
приставки(не знаю, насколько это легально))
* не сложно подготовить бездисковую систему с загрузой по сети
* не привязывается к оборудованию, легко клонировать утилитами типа dd
или сделать специализированный установщик
* не надо платить за лицензии
* гибкость настроек, много документации и статей
Какой софт использовать?
Вариантов много, зависит от предпочтений и целей. Я выбрал такие:
* дистрибутив: debian
может быть любой другой. я указываю пути к файлам оттуда, в других
дистрибутивах они могут иногда отличаться.
* display manager: gdm
настраиваем в нём автологин и отключаем ctrl+alt+backspace
* window manager: matchbox
Специально создан для пободных целей. Умеет разворачивать все окна на
полный экран, кроме диалогов(которые довольно симпатично выглядят).
Кушает мало ресурсов и прост в настройке.
Ещё к нему есть экранная клавиатура.
* xautolock - Будет сбрасывать браузер после заданного промежутка
бездействия. Вернее там можно задать 2 таких промежутка т.е. можно
сделать чтобы сначала выводилось предупреждение.
Как вариант - настроить для этих целей использовать xscreensaver,
xbindkeys - Если нужны какие-нибудь глобальные сочетания клавиш
Не забудьте также отключить виртуальные терминалы(/etc/inittab или
/etc/event.d/)
Браузеры:
1. mozilla kiosk project
На базе древней мозиллы с добавлением спец.настроек. Давно не
обновлялся.
2. firefox+спец. расширения
То расширение, с которым я имел дело было совместимо только с firefox
1.x, что не всегда удобно. Не все сочетания клавиш удалось отключить,
хотя это, конечно, возможно. В конце концов их можно заблокировать на
уровне иксов.
3. opera
В ней есть режим киоска (opera -k) и все необходимые настройки. Ещё в
ней интересные и быстрые svg эффекты, тег canvas и т.п. Минусы: могут
работать не все сайты; закрытая, вряд ли заработает на playstation:),
не читал лицензию, но, возможно, для использования в коммерческих целях
надо платить.
4. konqueror
мне он не подошел, но, в принципе, неплохой вариант.
5. epiphany
На базе gecko + недавно появилась поддержка webkit(её я пока не
пробовал)
Совмстим с гномовской системы ограничения действий пользователя(менять
ограничения можно программой pessulus), что очень удобно.
Можно редактировать/отключать абсолютно все сочетания клавиш, и как
угодно изменять интерфейс и менюшки, интерфейс описан в виде glade
файла(xml).
Поддерживает без лишних сложностей расширения на python. Есть даже
python console(наподобие javascript console), которая сама написана на
python/pygtk. Документации не очень много, но можно рыться в этой самой
консоли(полезные команды: в начале сессии делаем import epiphany,далее
dir(epiphany) и help(function_name)) + изучать примеры расширений
которые идут в комплекте. [гуглите, в последнее время информации стало
больше]
В debian/ubuntu, чтобы подключить своё расширение к браузеру, его надо
положить рядом с другими(/usr/lib/ephiphany-extensions/и т.д.) и
сделать dpkg-reconfigure epiphany-extensions. [похоже достаточно
перезапустить полностью браузер]
pessulus - позволяет ввести всякие ограничения, в т.ч. для epiphany -
например запретить открывать новые окна, печать, сохранять страницы и
т.п.
Связываем всё вместе
В домашней папке нашего пользователя создаем файл .dmrc, вот его
содержимое:
[Desktop]
Session=default
И .xsession(привожу несколько упрощенный вариант, вы можете его
модифицировать под свои нужды):
xautolock -time 5 -locker 'killall epiphany' &
matchbox-window-manager -use_titlebar no &
while true
do
rm ~/.gnome2/epiphany/ephy-history.xml &>/dev/null
rm ~/.gnome2/epiphany/mozilla/epiphany/cookies.txt &>/dev/null
rm -R ~/.gnome2/epiphany/mozilla/epiphany/Cache &>/dev/null
rm ~/.gnome2/epiphany/session_crashed.xml &>/dev/null
rm ~/.gnome2/epiphany/mozilla/epiphany/.parentlock &>/dev/null
# ^^^ убираем за пользователем куки, хистори и т.п.
/usr/bin/epiphany
done
Надо только указать ещё, как в Эпифании отключить автоматическое открытие скаченных файлов. Для киоска это совсем неподходящее поведение (по-умолчанию в Эпифании). pessulus это может? Я по его скриншотам этого не заметил.