International conference of developers
and users of free / open source software

ePoint PubTerm – публичный терминал для интернет-кафе

Даниэль Надь, Венгрия, Будапешт, ePoint Systems Ltd., nagydani@epointsystem.org

В связи с изменениями лицензионной политики Microsoft, которые привели к резкому увеличению издержек на лицензирование операционной системы для публичных терминалов, операторы значительного количества таких терминалов начали искать альтернативные решения. Компания ePoint Systems разработала такое решение на базе ОС Ubuntu 9.04 и системы одноразовых кодов доступа, продемонстрированной на LVEE 2009. В докладе рассказывается о технических решениях и методах разработки данного продукта.

1. Проблема

Платные терминалы обычно дают возможность пользоваться ими ограниченное количество времени в обмен на определенную плату. На самых простых терминалах единственное приложение, которым может пользоваться клиент – веб-браузер и доступные через него веб-приложения. Для того, чтобы сделать такой терминал платным, достаточно открывать при оплате доступ в Интернет и закрывать его по истечению оплаченного времени. Для осуществления такой модели исключительно средствами свободного ПО, можно использовать продемонстрированную на LVEE 2009 систему ePoint HotSpot на базе OpenWrt и браузерные ОС для самого терминала, такие как Chrome OS от Google, WebConverger от Kai Hendry или Mozilla Firefox с расширением (точнее, сужением) R-Kiosk.

Однако, как показывает практика, такие решения не удовлетворяют всех клиентов: есть существенный спрос на публичные терминалы, дающие доступ к полноценному рабочему столу и набору локальных приложений. В таких случаях недостаточно закрывать доступ к сети, а следует полностью прикрыть доступ к терминалу. В таких случаях нередкое дополнительное требование – возможность постраничной оплаты заданий для распечатки на сетевом принтере.

Полноценное решение для системы публичных интернет-терминалов также подразумевает централизованную систему управления и бухгалтерской отчетности, но эта проблематика остается за рамками данного доклада.

2. Решение

Средством оплаты являются одноразовые коды, возможно разного номинала. Конфигурацией устанавливается цена за минуту доступа к терминалу и за распечатанную страницу. Пользователь не должен заранее решать, на что он будет тратить средства: печать просто соответственно укорачивает время сессии. Пока время не истекло, возможно пополнение счета без перезапуска сессии при помощи ввода дополнительных одноразовых кодов.

Для реализации этого функционала, нам пришлось разработать модули для двух подсистем: для системы авторизации PAM (Pluggable Authentication Modules) и для системы печати CUPS (Common Unix Printing System), демон, который ведет счет средств на счету и принудительно прерывает сессию по их окончанию, а также аплет для рабочего стола, который информирует пользователя об остатке времени и страниц печати, предупреждает о скором истечении времени и дает возможность для пополнения. Все эти подсистемы общаются по шине DBus (Desktop Bus).

Для ввода кода доступа, блокировки сессии и изоляции (и сброса) пользовательской сессии мы использовали уже готовые элементы ОС Ubuntu: менеджер дисплея GDM (Gnome Display Manager, login screen), скринсейвер и гостевую сессию. Некоторые настройки безопасности пришлось сделать более строгими, чтобы пользователь не имел возможности изменить настройки сети.

Для более удобной авторизации, вместо введения кода на клавиатуре, возможно просто показать соответствующий QR-код вебкамере терминала.

Материалы к докладу