Новости IT, хостинга
Новость от 08.03.2012

Адрес в интернете:
https://news.hostdb.ru/index/show/id/5812

Для платформы Android создан X-сервер, написанный на языке Java


Представлен проект Android X server, в рамках которого подготовлена реализация X11-сервера для платформы Android, написанного на языке Java. X-сервер выполняется как подкласс Android View, что позволяет легко интегрировать его в другие приложения. Код проекта распространяется в рамках лицензии MIT. Интересно, что работа за несколько месяцев выполнена аспирантом, пожелавшим на практике разобраться в тонкостях работы протокола X11. Работы оказалось больше, чем предполагалось, но проект получился востребованным и полезным, поэтому был в итоге доведён до конца.

Для оценки возможностей проекта подготовлено простое демонстрационное приложение, доступное через Android Market. Приложение реализует более-менее полноценный X11-сервер, работающий как обычное приложение для платформы Android. Используя протокол X11 открывается возможность удалённого запуска нативных X11-приложений, размещённых на текущем устройстве или на другой машине в сети, с отображением вывода на экран Android-устройства. Например, внутри системы Android возможно создание chroot-окружения с ARM-сборкой полноценного дистрибутива Linux, выполнение графических приложений в котором не потребует лишних усложнений, таких как запуск отдельного VNC-сервера в связке с VNC-клиентом для платформы Android.

Из ограничений разработки отмечается отсутствие интегрированного оконного менеджера, что приводит к проблемам с запуском напрямую многих X-приложений (будут работать программы использующие только Xlib и Xaw, такие как xlogo, xclock, xeyes, xterm, xfd). Для решения проблемы предлагается запустить на удалённой стороне оконный менеджер (например, "fvwm -display ip_телефона:0") или интегрировать оконный менеджер в приложение Android, для чего потребуется создание аналога Xlib. Кроме того, не реализована поддержка некоторых редкоиспользуемых частей протокола X, таких как динамические карты цветов (поддерживается только 24-битные статические карты цветов), некоторые примитивы (например, пунктирная линия), операции отрисовки ограничены Copy и Xor. Не реализована поддержка расширений протокола X, но подготовлены хуки для желающих реализовать подобные расширения, например, X RENDER и X SHAPE.

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


Распечатано с HostDB.ru.