Недавно для работы на выставку понадобилось несколько интернет киосков для предоставления доступного и бесплатного интернета её посетителям. После недолгих мучений с тонким клиентом на базе WinCE стало понятно что он не тянет и остался вариант поставить обычный десктоп. Выбор операционки между Windows и Linux склонился в пользу Linux потому что это замечательный конструктор и мне больше нравится.
Выбор правильного линукса длился недолго. Slackware несмотря на всю его правильность и православность не обладает достаточным количеством легкодоступных пакетов для экспериментов. Ubuntu, несмотря на самый большой репозитарий пакетов, не понравился своей велосипедностью и глючностью. Я выбрал Fedora 13 так как он имеет достаточно большое количество софта для экспериментов, довольно прост, давно знаком и понятен. Тратить время на исследования остальных линуксов желания не было.
В качестве смотрителя интернетов я выбрал Оперу, потому что в ней присутствует встроенный режим работы «kiosk mode» и широкие возможности по его настройке. Без некоторых проблем конечно не обошлось, но вполне терпимо, лучше чем Firefox. Firefox поразил своей непригодностью для киоска — встроенного режима нет, а расширений было только 2 и они не радовали. Правда, обнаружилось новое, на первый взгляд, подходящее расширение «kioskfox», но тогда его не было.
От киоска требовалось просто раздавать полноценный интернет (java, flash, ...) всем желающим, не сохранять историю походов и никуда дальше Оперы пользователя не пускать.
После долгих экспериментов и изучения всевозможных Login и Window менеджеров и их возможностей по кастомизации пришел к следующей схеме.

После включения компьютера сразу загружается система, потом логин менеджер SLIM включает NumLock и автоматически логинит правильного пользователя. После этого загружается оконный менеджер Fluxbox и через стартап файл загружает Оперу в режиме киоска. Всё, у пользователя есть интернет и он ничего не может кроме как нажать Control-Alt-Delete для перезагрузки сессии. В настройках X.org и Fluxbox отключены все меню и все комбинации клавиш. Оставлено несколько секретных комбинаций клавиш для административных целей, они сложнее чем на схеме — чтобы пользователь случайно не натыкал. Для удобства компьютер идёт в Shutdown по нажатию кнопки Power на корпусе. В Опере тоже отключено всё лишнее и оставлен только многооконный интерфейс, навигационные кнопки и адресная строка. Ещё через встроенный в Оперу фильтр запрещены некоторые сомнительные ресурсы и доступ к другим протоколам кроме http и https.
Больше всего времени ушло на изучение и подборку правильных логин и оконного менеджера и доведения до ума настроек и скриптов. SLIM и Fluxbox оказались самыми полноценными по функционалу и самыми удобными в настройке этого функционала.
Настройка и тестирование Оперы был отдельный интересный процесс и она остаётся самым уезвимым местом данной системы. Уверен что где-то ещё остались баги и лазейки для пользователя, например, не получилось до донца убить доступность настроек Оперы по адресу opera:config. Их изменить нельзя, но они доступны для просмотра, что огорчает.
Если хабраобществу эта тема интересна, то будет продолжение с гиковскими конфигами и командами.
Линукс
Выбор правильного линукса длился недолго. Slackware несмотря на всю его правильность и православность не обладает достаточным количеством легкодоступных пакетов для экспериментов. Ubuntu, несмотря на самый большой репозитарий пакетов, не понравился своей велосипедностью и глючностью. Я выбрал Fedora 13 так как он имеет достаточно большое количество софта для экспериментов, довольно прост, давно знаком и понятен. Тратить время на исследования остальных линуксов желания не было.
Интернет
В качестве смотрителя интернетов я выбрал Оперу, потому что в ней присутствует встроенный режим работы «kiosk mode» и широкие возможности по его настройке. Без некоторых проблем конечно не обошлось, но вполне терпимо, лучше чем Firefox. Firefox поразил своей непригодностью для киоска — встроенного режима нет, а расширений было только 2 и они не радовали. Правда, обнаружилось новое, на первый взгляд, подходящее расширение «kioskfox», но тогда его не было.
Архитектура
От киоска требовалось просто раздавать полноценный интернет (java, flash, ...) всем желающим, не сохранять историю походов и никуда дальше Оперы пользователя не пускать.
После долгих экспериментов и изучения всевозможных Login и Window менеджеров и их возможностей по кастомизации пришел к следующей схеме.

После включения компьютера сразу загружается система, потом логин менеджер SLIM включает NumLock и автоматически логинит правильного пользователя. После этого загружается оконный менеджер Fluxbox и через стартап файл загружает Оперу в режиме киоска. Всё, у пользователя есть интернет и он ничего не может кроме как нажать Control-Alt-Delete для перезагрузки сессии. В настройках X.org и Fluxbox отключены все меню и все комбинации клавиш. Оставлено несколько секретных комбинаций клавиш для административных целей, они сложнее чем на схеме — чтобы пользователь случайно не натыкал. Для удобства компьютер идёт в Shutdown по нажатию кнопки Power на корпусе. В Опере тоже отключено всё лишнее и оставлен только многооконный интерфейс, навигационные кнопки и адресная строка. Ещё через встроенный в Оперу фильтр запрещены некоторые сомнительные ресурсы и доступ к другим протоколам кроме http и https.
Послесловие
Больше всего времени ушло на изучение и подборку правильных логин и оконного менеджера и доведения до ума настроек и скриптов. SLIM и Fluxbox оказались самыми полноценными по функционалу и самыми удобными в настройке этого функционала.
Настройка и тестирование Оперы был отдельный интересный процесс и она остаётся самым уезвимым местом данной системы. Уверен что где-то ещё остались баги и лазейки для пользователя, например, не получилось до донца убить доступность настроек Оперы по адресу opera:config. Их изменить нельзя, но они доступны для просмотра, что огорчает.
EoF
Если хабраобществу эта тема интересна, то будет продолжение с гиковскими конфигами и командами.