LINUX.ORG.RU

Написан X11 сервер для Android

 , ,


0

3

Для Android платформ стал доступен написанный на Java X сервер.
Об этом сообщил в своём блоге Мэт Квэн (Matt Kwan), аспирант из Австралии.

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

Этот сервер X11 изначально предназначался для запуска на платформах Android, поэтому он и написан на Java. С помощью него можно будет отображать X11 приложения, запущенные на Linux. Поддерживаются виртуальные и физические клавиатуры, а также touch-screen movements.
Хотя это почти законченная версия, в ней отсутствуют динамическая карта цветов и XRender или RandR.
Эта версия представлена без оконного менеджера, но удалённо можно запустить fvwm. Но приложения которые используют только Xlib должны работать корректно.
X server для Android уже доступен в Android marketplace. Весь код под лицензией Apache также можно найти в code.google.com.
Весь проект состоит из 14100 строчек Java кода.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: mono (всего исправлений: 3)

Ответ на: комментарий от true_admin

У одного моего знакомого есть такой. Клавиатура в принципе достаточно удобная. Только разве, что имхо крепление док-станции к планшету слишком ненадёжное.

Время работы - если юзать достаточно умеренно, то хватает примерно на два дня (с подключенной док-станцией, разумеется).

Насчёт перепрошивки не знаю - друг этим заниматься не собирается, и обычный Android его устраивает.

KivApple ★★★★★
()

Почитал ман на страничке. Удобного способа запуска иксовых приложений оттуда пока нет. Ну что ж. Придется через терминал запускать.

Quasar ★★★★★
()
Ответ на: комментарий от KivApple

Пишу сейчас с андроидофона с клавиатурой.

Quasar ★★★★★
()
Ответ на: комментарий от vovans

конечно же нет, но зачем придираться к мелочам?

DarkV
()

написан на Java
аспирант из Австралии

Как научная работа - норм.

ForwardToMars
()

А стоиит ли это потраченного времени/сил?

InsaneClown
()

Отличный проект!

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

AVL2 ★★★★★
()

Не прошло и пяти лет. Теперь андроид чуть сильнее готов для десктопа.

PolarFox ★★★★★
()

Думаю отображать можно и нативными иксами.
1. Запустить иксы через dummy драйвер.
2. Коннектится к ним через андроидный vnc.

Действительно ли велосипед на яве будет быстрее?

d9d9 ★★★★
()

Написан X11 сервер для Android

А до этого Android был только с голой консолью... Прогресс на лице!

toney ★★★★★
()

интересный Research :) может быть и полезным :)

и шикарно, что аспиранты могут такими вещами заниматься, а не думать - где денег на квартиру/машину/жену/хлеб взять;)

azazello ★★★★
()
Ответ на: комментарий от Quasar

Затем, чтобы между платформами без перекомпиляции переносить.

Это как? андроед под армом в основном, а иксы на x86. Если только qemu в host режиме запускать.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

А тут по-моему только единицы понимают, что это такое и для чего нужно.

void_ptr ★★★★
()

Посоны, не запускайте, там вирус!1

Поставил, запустил - телефон начал произвольно ребутаться с интервалом в минуту-две. Еле успел снести к чертовой матери. Но fvwm запустилось =)

Deleted
()
Ответ на: комментарий от AVL2

Это как? андроед под армом в основном, а иксы на x86. Если только qemu в host режиме запускать.

андроид на arm/x86/mips, X11 - на 68k/mips/spark/power/x86/etc.
мне кажется - вы слабо себе представляете программные и аппаратные архитектуры, особенно сетевую часть Х11;)

azazello ★★★★
()

Для андроид
Х сервер
на java

о_О. Полный фарш. Андроид с его тупорылой жабой - не нужен.

vova7890 ★★★
()

Java

Он еще более тормознутый чем на десктопах? Закапывайте.

MisaMisa
()
Ответ на: комментарий от RedPossum

Господа возрадовавшиеся, а приведите пример задачи, которую можно теперь решить с помощью этого инструмента.

Примеров полно:
* запускать иксовые приложения на другом компе и коннектиться к ним с мобилки (см. http://winswitch.org/)
* запуск с андроида на сервере какой-нибудь графической конфигурялки (connectbot на андроиде дает ssh с пробросом портов)
* всякие удаленные демонстрации и конференции с десктопа с вещанием на андроиды
* возможность запускать ARM-овые дебиановые приложения прямо с sd-карты в андроидном окружении

Как бонус, такой проект может уменьшить разрыв между десктопом и мобилкой и упростить портирование десктопного софта.

Вопрос в другом — что из этого реально заработает? Будет ли развитие у этого проекта? Или его забросят, и он так и останется всего лишь забавной демонстрацией того, что X-ы можно написать на жаве в 14000 строк.

anonymous
()
Ответ на: комментарий от vova7890

Андроид с его тупорылой жабой - не нужен.

А скажите-ка, на чем должна, по-вашему, вестись разработка мобильных приложений?

Java на мобилках — это сейчас почти лучший вариант. Это знакомый всем язык, с кучей готовых наработок и кучей уже знающих его программистов по всему миру. Для него — готовые удобные инструменты и библиотеки. Чем будет лучше любой другой язык?

anonymous
()

На linux4sam присутствуют прошивочки для at91 они на X11? Если это так, то собрать Х11 для андроид не так уж трудно. Кстати кто скажет почему сдох Y?

splinter ★★★★★
()
Ответ на: комментарий от RedPossum

> Господа возрадовавшиеся, а приведите пример задачи, которую можно теперь решить с помощью этого инструмента.

Портирование приложений стало гораздо легче. В Android нет X-сервера.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Портирование приложений стало гораздо легче.

Это, конечно, хорошо, но разве android'у за столько лет использования и активного написания под него не хватает приложений?

RedPossum ★★★★★
()
Ответ на: комментарий от anonymous

Жава не нужна, жертва для бинарной совместимости слишком велика. Есть кроссплатформенне инструменты для разработки приложения на С/С++. Тот же Qt даёт совместимость на уровне исходных кодов. И плюсы гораздо удобней, а те кто кричат «в жабе память чистить не нужно!!!11» - неасиляторы. Насрал - будь добр убери. Компайл-тайм оптимизация, в том числе удаление памяти там, где человек укажет, а не там где сборщику захотелось.

vova7890 ★★★
()

Весь проект состоит из 14100 строчек Java кода.

А сколько бинарники весят?

CYB3R ★★★★★
()

ну чо сказать? Больше Велосипедов Хороших И Разных

havelite
()
Ответ на: комментарий от AVL2

Хотя имхо было бы лучше сделать запуск андройдовых приложений в линукс.

вот это я бы хотел. на андроиде много годных развлекушек которых в линуксе сильно нехватает

Loki13 ★★★★★
()

Слабоват, на всём более или менее серьёзном слетает (даже fvwm, не говоря уж об icewm).

FoodChemist
()
Ответ на: комментарий от FeyFre

Зачем про Менует говоришь, когда есть наша Колибри?

Алсо мы уже джва месяца портируем ваш гнутый софт на неё! Последним стал Vim!

Leency
()
Ответ на: комментарий от RedPossum

Господа возрадовавшиеся, а приведите пример задачи, которую можно теперь решить с помощью этого инструмента.

Запуск линуксовых прог на Android планшетах?

snizovtsev ★★★★★
()
Ответ на: комментарий от anonymous

тормоза в квадрате для мобилки? это уже что-то хлеще героина

Не понял...
На моём древнем, безвреммено погибшем, Sagem-MY700X тоже жаба была в стандарте MIDP 2.0. И была реализована аппаратно - и не тормозила.
Так что же мешает, при современных мощностях, ARM`ам сервак сделать? От него что? рендереинг требуется?

drfaust ★★★★★
()
Ответ на: комментарий от anonymous

написанный на Java X сервер

Баян. http://www.jcraft.com/weirdx/

Угу, который на свинге и имеет чуть менее чем никакое отношение к андроиду. Автор сабжа тоже посмотрел на него, и решил, что с нуля под андроид написать будет проще, и работать будет быстрее.

anonymous
()
Ответ на: комментарий от RedPossum

В С++ можно накостылить чего угодно, напилить дефайнов, реализовать пару классов и можно собрать жава сорец на С++ конпеляторе. Но это не главное. Самый главный аргумент, почему я не люблю жабу, а люблю С++ - скорость исполнения и потребление памяти. Я просто не вижу смысла в жабе, все что может жаба, может и С++, при этом проги на С++ не жрут килотонный памяти и килогигагеры проца. Жаль, что прошли те времена, когда каждый такт был на счету... Сейчас пошли быстрые процессоры, а все как раньше тормозило так и сейчас тормозит. Пошла тенденция «до проца должно быть, как до Москвы раком», жвм`ы всякие, пистоны, рубироиды... Я в недоумении...

vova7890 ★★★
()
Ответ на: комментарий от iBliss

многоядерная дурятина качает

Многоядерная????? А разве такое бывает? Duron ведь только одноядерным был, это же огрызок Athlon'а 32-разрядного.

Ты что-то перепутал, явно.

VladimirP ★★★★
()
Ответ на: комментарий от vova7890

Я просто не вижу смысла в жабе, все что может жаба, может и С++

Все-то оно так, но стоит принять во внимание, что в далекие и глухие 70-е и 80-е кампутеры стоили дохрена, а программист получал чуть более, чем нихера. Байт стоил дорого, а человеко-час профессионала - нет. Сейчас перевесило: техника стоит, как говно, а каждый птенец, не успев еще опериться после институтов, уже хочет дохрена денег за свой быдлокод.

В результате имеем грустную с технической точки зрения, но вполне логичную с точки зрения бизнеса картину: конторе проще набрать толпу дешевых java-обезьян, чем за те же деньги держать одного, пусть даже суперпрофессионального C++-ника. Ибо порог вхождения кодера в java гораздо ниже. Кому надо качество, если можно тупо задавить количеством? Тормозит говнософт? Давайте докинем 100500 гиг памяти и воткнем еще дохера процессоров. Больше не тормозит? Ну и ладненько. Типо справились. Прибыль пошла, а красота алгоритмов и дизайна никого не волнует.

Хотя вы и сами это прекрасно знаете, чего это я тут распинаюсь.

Ваш Капитан.

anonymous
()
Ответ на: комментарий от vova7890

Жава не нужна, жертва для бинарной совместимости слишком велика. Тот же Qt даёт совместимость на уровне исходных кодов. И плюсы гораздо удобней (... поскипано что-то там про оптимизацию и т.д.)

Да фиг с ней, с оптимизацией. Тут другие проблемы.

Во-первых, да, плюсы — это круто, и Qt — один из лучших существущих GUI-фреймворков, кто ж спорит, он весь из себя совместимый, но каким местом он удобен для мобилок? Серьезно, что в Qt удобного для разработки интерфейса на мобильных телефонах с маленькими экранами?

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

Выходит, что существующее Qt для существующих мобилок не удобно. И даже для Qt нужно писать отдельные «мобильные» виджеты, делать для них специальные мобильные примочки (чтобы поддерживать, например, и горизонтальную и вертикальную ориентацию экрана). И вот тут вылазит вторая проблема: если все равно нужно делать новые виджеты, то на чем их делать лучше — на Qt или на Java? Наверное, на том, что больше известно. А каких программистов в мире больше — тех, что пишут на Qt или тех, что на Java? Ну-ка? ;)

anonymous
()
Ответ на: комментарий от anonymous

А кого сейчас волнует красота кода ? Главное прибыль, если я могу нанять программиста за 1000$ плюс пару сотен за железо вместо программиста за 5000$, зачем мне платить больше. А читаемость кода никого не волнует, максимум можно проект закрыть или переписать заново если требуется. Нет ни одного крупного проекта который бы не оброс копрокодом после нескольких лет разработки, тогда какой смысл в красивом коде ?

Deleted
()
Ответ на: комментарий от anonymous

Сугубо нынешние проблемы Qt на мобилки. Да и никто не мешал гугловцам запилить их теперишнее апи для жабы на плюсах... Но, им видити ли трава такая попалась и жаба им показалась принцессой )

vova7890 ★★★
()
Ответ на: комментарий от Deleted

По такому принцыпу сейчас работает вся структура веба. Код - не главное, главное - результат. Говно оно не говно, всех волнуют только деньги. Ну понятное дело, что кушать всем хочется, но зачем было разводить столько говнокодеров...

vova7890 ★★★
()
Ответ на: комментарий от vova7890

А их никто не разводил, они сами как тараканы на еду развелись. Как ты и сказал, кушать хочется всем, а работать не хочет никто. Где еще есть такая возможность, разработал один раз продукт и копируй сколько влезет, причем копируешь бесплатно, а продаешь за деньги.

Deleted
()
Ответ на: комментарий от plm

Запустить fvwm и xclock. Остальное не работает.

исправил

exception13 ★★★★★
()
Ответ на: комментарий от Displacer

Кто-нибудь может объяснить, почему нельзя было портировать Си-шный xorg через NDK? Зачем такие мучения? Впрочем, вопрос имеет лишь академический интерес, поскольку у тех, кому реально нужен X сервер, есть MeeGo.

те кому нужен нормальный гнутый линупс а не убожество на костылях (android) уже давно использую дебильян.

exception13 ★★★★★
()

Может ну его нафиг, этот N9?

Если на андроиде есть иксы, то если там можно запускать и иксовые приложения из чрута...

Только вот андроидофонов слишком уж много и как выбрать подходящий — непонятно. Разве что по списку поддерживаемых Replicant? Но там современных вроде как нет, а старьё не хочется покупать, да и даже если захочется — его ещё найти надо.

Xenius ★★★★★
()
Ответ на: комментарий от vova7890

Да и никто не мешал гугловцам запилить их теперишнее апи для жабы на плюсах... Но, им видити ли трава такая попалась и жаба им показалась принцессой )

Нет, они просто взяли в качестве основного тот язык, на котором больше всего людей смогут писать программы под мобилки.

Никто не мешал им апи на ассемблере в виде макросов запилить. Но зачем делать себе же хуже? Зачем выбирать неудобный и малораспространенный язык, если можно выбрать удобный и распространенный, да к тому же активно используемый на мобильных устройствах?

PS: Так, для справки, Android NDK позволяет писать под адроид на С++.

anonymous
()
Ответ на: комментарий от Xenius

Если на андроиде есть иксы, то если там можно запускать и иксовые приложения из чрута...

Да можно, уже проверили. Правда, не все приложения, реализация иксов там все же очень базовая.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.