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

Разработка и перспективы развития дистрибутива со вспомогательными технологиями ALT Linux Homeros

Михаил Пожидаев, Томск, Russia

LVEE 2012

ALT Linux Homeros is a GNU/Linux distribution for blind and visually impaired users. It provides speech access based on GNU Emacs environment with emacspeak add-on. The report covers various implementation details as well as propositions for further development.

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

В основе дистрибутива лежит популярный текстовый редактор GNU Emacs, оснащённый специальным дополнением emacspeak. Организация рабочего пространства в GNU Emacs предполагает представление всех рабочих объектов в текстовом виде, что значительно упрощает процесс формирования их речевого представления. Последовательность речевых команд, подготовленная emacspeak, передаётся в речевой сервер VoiceMan, разработанный целиком в рамках проекта ALT Linux Homeros. Речевой сервер выполняет автоматическое переключение синтезаторов в зависимости от языка фрагмента текста, а также предотвращает наложение воспроизведения речи от нескольких запущенных экземпляров GNU Emacs. Установка системы на жёсткий диск производится при помощи специального скрипта клонирования дистрибутива с LiveCD. Процесс установки проходит автоматически, все основные параметры пользователь указывает в команде запуска.

В таком виде дистрибутив может оказаться надёжным инструментом при решении многих задач. Он способен быть средой для администрирования и восстановления системы после сбоя, поскольку предоставляет возможность запуска речевого интерфейса без установки на жёсткий диск. Среда GNU Emacs загружается в консольном режиме, т. е. исключаются какие-либо проблемы с наличием подходящего видеодрайвера. Она относительно экономна с точки зрения использования системных ресурсов, что позволяет её применять на мобильных устройствах, таких как, например, нетбуки. Круг доступных задач определяется дополнениями, интегрированными непосредственно в GNU Emacs, и набором консольных утилит, вызываемых из командной строки. При этом существует возможность выполнения без визуального контроля некоторых сложных работ, таких как набор больших текстов (статей, дипломных работ, диссертаций, книг) и даже подготовка нотных материалов, при помощи инструментов, предполагающих ввод данных в виде текстовых файлов с использованием некоторой разметки. В случае редактирования текста это позволяет делать latex, а для работы с музыкальными партитурами — lilypond.

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

Ситуация усложняется тем, что ряд приложений может запускаться только в графическом режиме, и ориентировка на консольное применение GNU Emacs становится неудобной. Примером такого приложения является веб-браузер. Решить проблему качественной русификации GNU Emacs пока невозможно, поскольку все строковые константы вписаны жёстко в исходный код. Для решения других трудностей в рамках проекта проводятся дополнительные исследования, и подготавливаются новые компоненты. Качественным шагом вперёд может быть широкое задействование сервисов, допускающих взаимодействие через D-Bus. GNU Emacs предоставляет собственные инструменты для работы с объектами D-Bus. Это позволяет управлять важными системными настройками, как, например, конфигурация сети с использованием Network Manager, без редактирования конфигурационных файлов. Получившее распространение в последнее время движение широкого задействования systemd и слияние systemd с udev могут оказаться крайне полезными в повышении удобства работы с дистрибутивом. Помимо этого, речевой сервер VoiceMan в настоящий момент проходит фазу трансформации, после которой он будет способен обрабатывать команды по шине D-Bus, что может повысить гибкость создания новых речевых оповещений.

Рассматривается вопрос запуска GNU Emacs в сессии x.org после установки, но с сохранением консольного режима в LiveCD. Это позволит запускать браузер Mozilla Firefox, который имеет собственные механизмы передачи информации для вспомогательных технологий. Для их задействования необходимо наличие двух
компонентов: AT-SPI и экранного чтеца orca. AT-SPI не имеет зависимости от больших сторонних библиотек, но экранный чтец orca является приложением, требующим запуска настольного окружения GNOME, что является достаточно тяжёлым решением. AT-SPI используется в качестве платформы работы со вспомогательными технологиями в мобильной ОС Tizen, при этом, возможно, экранный чтец orca будет заменён на некоторое новое, более лёгкое решение, которое окажется подходящим недостающим звеном для среды ALT Linux Homeros.

Работа по поддержке вспомогательных технологий ведётся в некоторых настольных оболочках, таких как GNOME, KDE и XFCE. Планируется поддержка необходимых для их запуска компонентов в репозиториях ALT Linux, но их применение затруднено на мобильных устройствах, поэтому даже при их наличии существующий подход ALT Linux Homeros сохраняет свою актуальность. Среда на основе GNU Emacs рассматривается как основной инструмент, поскольку предлагает значительно более высокую скорость работы и позволяет решать более сложные задачи.

Лицензия Creative Commons
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.

blog comments powered by Disqus