Про SunRay Server в среде GNU/Linux (Часть 2)
реклама
0. Disclaimer (отмазки)
Данная запись является второй частью трилогии о том, как имея x86 сервер со средой виртуализации VMWare от запустить терминал сервер SRSS от Sun Microsystems.
Пишется она неформальнным языком, решения, описываемые в ней не претендуют на изящество, да и воплощались они далеко не сертифицированным специалистом.
Задача передо мной стояла следующая: где-то в здании находился одноюнитовый сервер SunFire V100 неизвестной конфигурации, где-то рядом с ним находился коммутатор минимум на 16 портов и никто точно не знал где. Ещё в здании находилось 15 штук тонких клиентов SunRay 1 и столько же SunRay 100. Где стояли они все знали.
Клиенты на протяжении десяти лет показывали окно браузера с открытой страницей поиска по каталогу и перезагружались в случае закрытия окна браузера. Если не ошибаюсь, там были только X'ы, специально обученная Mozilla 1.0 и twm в качестве оконного менеджера. В качестве терминального сервера использовался SRSS 2.0.
В один прекрасный день экраны тонких клиентов потухли, и тут началось. Дело в том, что мы во-первых не могли найти сервер (по ssh глухо, а где он стоит не знаем), а во-вторых не знали чего с ним делать когда найдем. Ведь терминальных кабелей на него уже давно нет, да и по Solaris специалистов не было.
Было принято решение идти другим путем, а именно, водрузить на виртуальную машину GNU/Linux и использовать SRSS 4 под эту ОС.
К слову, сервер мы таки нашли, терминальные хвосты подошли от CISCO, а причиной отказа стал клин IDE жесткого диска на 40 гигабайт. Сервер был тщательно замаскирован в стойке со свитчами.
1. Настройка Kiosk Mode
В предыдущей записи трилогии кратко описывалось как установить и настроить SRSS для стандартного графического логина (посредством GDM), стандартного пользователя в стандартную графическую среду.
Но оставить неискушенного (а особенно искушенного) пользователя наедине с незнакомой и к тому же достаточно старой операционной системой было нельзя. И пользоваться не смогут, и сломают нафиг. Сажать дежурного человека, который бы следил и консультировал возможности не было, во-первых потому что таких людей потребовалось бы несколько и во вторых, само наличие такого человека противоречит идее киоск-терминала.
После анализа ситуации было выявлено два решения проблемы.
2. Решение №1 - Kiosk mode средствами операционной среды
Для минимизации потребляемых ресурсов (SRSS уже использует GDM) в качестве операционной среды было решено использовать Gnome.
Поиски в сети Интернет увенчались успехом, на сайте RedHat был найден документ под названием Red Hat Desktop Deployment Guide. Если присмотреться к главам типа этой, то становится ясно, что средствами системы, потратив пару рабочих смен можно оторвать от гнома всё лишнее и оставить ровно столько, сколько нужно.
Подробно описывать отрывание ненужностей я не стану, т.к. все уже описано в руководстве.
Процесс автологина средствами GDM тоже достаточно прост, о нём можно прочитать здесь в пункте 4.7.6.
3. Решение №2 - Kiosk mode средствами SRSS
До падения системы, которую я был вынужден поднимать, все прелести kiosk mode были реализованы стандартными средствами SRSS 2.0, используя куда более новую, четвертую версию, я не ожидал ни каких проблем, к тому же, поддержка SUN была дружелюбна, консультировала, помогала, тыкала носом в нужные странички документов...
Но как же я ошибался по поводу простоты и удобства. К слову, на вторые стуки копания Kiosk mode средствами SRSS я чувствовал себя как эта собака с сайта SUN:
Вроде и поймал что-то, да только вот зачем? И к тому же, падать теперь высоко
Понимание происходящего абзаца стало приходить ко мне только тогда, когда в ответ на мои, казалось бы простые, вопросы сановский сапорт стал молчалив, немногословен, чуть-чуть хамлив и честолюбив, например, инженер до того бывший самой галантностью, стал акцентировать внимание на том, что помогает он мне на общественных началах, лицензия у нас не на ту версию сервера, и вообще, купите, а там посмотрим.
А вопросы собственно говоря были следующими:
1. Почему не работает гномий и X'овый переключатель раскладки клавиатуры?
2. Где примеры прототипов приложений?
3. Так хорошо описаны фичерз энд бенефитс критических сессий, а где примеры использования?
Как оказалось позже. я ткнул пальцем в небо и попал. То есть, в GNU/Linux версии SRSS были сломаны xkb extensions, отсутствовали шаблоны сессий и примеры прототипов приложений. При всём этом на сколько я помню, функционал заявлялся для Solaris и GNU/Linux версии одинаковый.
Если оставить эмоции в стороне, то в сухом остатке получится такое вот решение.
Для того, чтобы получить работающий Kiosk mode с минимальным функционалом надо сделать буквально следующее - скачать здесь файл сессии, установить ( описание) и сконфигурировать либо консольно, либо через WEB интерфейс, что не сложно. Но это только в теории.
При таком подходе, мы будем лицезреть максимум ошибку логина (сообщение о неверной конфигурации Kiosk mode) или же сообщение GDM о том что наша сессия длилась менее десяти секунд, уверения в том что это жжж не с проста и предложение почитать лог "пикирующих санок".
Для того чтобы все действительно работало, нужно сделать следующее:
1. Сделать cd /etc/opt/SUNWkio
2. Сделать ls, убедиться что папки sessions и prototypes на месте
3. В папке prototypes должна быть пустая директория generic-session
4. В папке srssions должны как минимум присутствовать файл generic.conf и папка generic с файлом generic-session внутри. Всё это должно появится после того, как этот файл будет установлен согласно инструкциям.
5. Содержание файла /etc/opt/SUNWkio/sessions/generic.conf у меня таково:
KIOSK_SESSION_EXEC=$KIOSK_SESSION_DIR/generic-session
KIOSK_SESSION_LABEL="Catalogue"
KIOSK_SESSION_DESCRIPTION="Catalogue"
KIOSK_SESSION_ARGS="env LC_ALL="ru_RU.iso88595" LANG="ru_RU.iso88595" dillo-i18n"
KIOSK_SESSION_PROTOTYPE=generic-session
Думаю, что и зачем понятно. если не понятно, то описание формата этого файла можно почитать в официальной документации. если вкратце, то выполняется команда env LC_ALL="ru_RU.iso88595" LANG="ru_RU.iso88595" dillo-i18n, а при закрытии окна браузера, сессия перезапускается заново. Этот параметр запросто может быть заменён на /usr/bin/firefox или любую другую программу, например, desktop manager.
6. Содержание файла /etc/opt/SUNWkio/sessions/generic/generic-session таково:
#!/bin/sh
#/usr/X11R6/bin/mwm&
/usr/bin/metacity&
/usr/bin/fvwm-root -r /opt/wall.png&
/usr/bin/xrus jcuken-cyr.xmm&
$*
Амперсанд в конце каждой команды обязателен - формат однако (о нём тоже можно почитать в официальной документации). По сути, это специальный logon-скрипт, запускающий оконный менеджер (mwm закоментирован), устанавливающий заставку и запускающий переключатель клавиатуры xrus. Последняя строчка тоже обязательна - формат!
7. Конечное конфигурирование Kiosk mode через WEB-интерфейс не представляет никакой сложности, по сути, нужно только активировать его, выбрать сессию из списка (благо в списке она будет одна) и всё.
В моём случае получилось следующее - автологин, запущенный X сервер, установленные обои, запущенный оконный менеджер и браузер, открывающий конкретную страницу в сети Интернет.
Все использованные в записи руководства можно найти здесь (Sun Ray User Group) и здесь (Red Hat Enterprise Linux Documentation).
4. Планы на будущее
В записи трилогии будет рассказано о том, как окончательно настроить браузер, оконный менеджер и другие сервисы для оптимальной работы в режиме киоска и максимальной защиты от дурака. Планируется рассказ от настройке под Kiosk браузеров firefox, dillo, opera, оконных менеджеров mwm, metacity, и прокси сервера.
5. Благодарности
В заключении хочу поблагодарить свое начальство за то, что приставили к голове пистолет и сказали "Делай!", сотрудников службы технической поддержки SUN за то, что терпели меня в течении полугода и терпят до сих пор, и сотрудников компании VDEL за то, что безвозмездно делились опытом использования SRSS в среде GNU/Linux.
Обсудить в конференции
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают