Техническое примечание TN2062

Создание киосков

Этот technote предлагает общий обзор технологий, в частности поддерживающих киоск на OS X.

Введение
Общие инструкции по киоску
NSApplication presentationOptions API
Замена средства поиска
Включение микропрограммного пароля
Часто задаваемые вопросы киоска
История версии документа

Введение

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

Этот technote предлагает общий обзор технологий, которые в частности поддерживают или полезны для разработчиков киоска на OS X.

Общие инструкции по киоску

Используя методы и APIs, описанный в этом technote, возможно вызвать Mac OS X в состояния, с которых может быть очень трудно восстановить. Например, с помощью этого technote это довольно тривиально для создавания приложения, которое запускается на запуске, принимает весь экран и не может быть завершено. Если предшествующие приготовления не были сделаны, восстановление с этого состояния может быть вполне сложным. Рекомендуется, чтобы разработчики ожидали эту возможность и сконфигурировали их машины для упрощения восстановления. Apple рекомендует, чтобы все разработчики киоска взяли следующие шаги:

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

NSApplication presentationOptions API

Запускаясь в Mac OS X 10.5, более старое SystemUIMode API был заменен NSApplication presentationOptions API. SetSystemUIMode и GetSystemUIMode не были формально осуждены, но более новый API NSApplication должен обычно использоваться вместо этого. presentationOptions API документируется как часть NSApplication; полное изложение может быть найдено в Ссылке класса NSApplication.

Оба presentationOptions и currentSystemPresentationOptions KVO-заметны. Наблюдающий клиент currentSystemPresentationOptions получит уведомления при трех различных обстоятельствах.

Замена средства поиска

В Mac OS X launchd ответственен за автоматические процессы и демонов включая Средство поиска. Для получения дополнительной информации о launchd см. следующие документы:

В Mac OS X 10.6, plist, фактически управляющий запуском Средства поиска, является файлом com.apple.Finder.plist найденный в /System/Library/LaunchAgents. plist структура довольно проста, и можно изменить глобальную переменную Finder путем изменения Program свойство этого plist. Однако обычно предпочтительно переопределить в масштабе всей системы Finder путем размещения измененного plist в /Library/LaunchAgents. Кроме того, можно также переопределить Finder на основе в расчете на пользователя путем добавления пользовательского plist к ~/Library/LaunchAgents из домашней папки того пользователя.

Включение микропрограммного пароля

Микропрограммный пароль является средством защиты, доступным в системах Mac OS X. Включение микропрограммного пароля препятствует тому, чтобы пользователи выбрали загрузочный диск при начальной загрузке, а также отключили много других опций, которые были бы несоответствующими в среде киоска.

В настоящее время нет никакого общедоступного программируемого решения установки микропрограммного пароля (r. 3075615). Это означает, что эта установка не может быть установлена установщиком. Однако администратор может позволить использовать процесс, описанный в Установке микропрограммной защиты паролем в Mac OS X. Этот документ также содержит больше подробных данных о том, какие действия микропрограммный пароль ограничит.

Часто задаваемые вопросы киоска

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

Среди прочего включение микропрограммного пароля препятствует тому, чтобы пользователь выбрал различное устройство запуска при начальной загрузке. Посмотрите раздел Enabling a Firmware Password для получения дополнительной информации.

Как я предотвращаю новые носители (CDs, DVDs, iPod, жесткие диски USB/Firewire, и т.д.) от становления смонтированным? Как я препятствую тому, чтобы были извлечены носители?

DiskArbitration платформа, ответственная за управление всем монтированием и извлечение в системе. Используя DiskArbitration, можно экранировать устройства, прежде чем смонтируются и ответят во множестве путей, включая блокирование попытки монтирования или то, чтобы вынуждать объем смонтироваться только для чтения. Для получения дополнительной информации о DiskArbitration, посмотрите Ссылку Платформы DiskArbitration.

Как я отключаю кнопку питания?

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

Как я отключаю сон?

Это описано Техническими Вопросами и ответами QA1340: Регистрация и нерегистрация для сна и уведомлений следа. Это включает информацию о том, как контролировать и предотвратить сон.

Как я могу контролировать события клавиатуры или события от нажатия мыши?

Кварцевые Касания События позволяют приложению наблюдать и изменять поток низкоуровневых событий ввода данных пользователем перед их поставкой. Используя этот API, возможно создать, скрыть, или изменить множество событий клавиатуры, прежде чем они достигнут высокоуровневой системы. Для получения дополнительной информации об этом API посмотрите Ссылку Quartz Event Services.



История версии документа


ДатаПримечания
13.04.2011

информация о revison

24.02.2003

Обсуждает методы, используемые в создавании приложений, требующих подобной киоску функциональности на Mac OS X.

 

Новый документ, обсуждающий методы, используемые в создавании приложений, требующих подобной киоску функциональности на Mac OS X.