The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Удалённая работа с GTK-приложениями..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Удалённая работа с GTK-приложениями..."  +/
Сообщение от auto_tips (?), 26-Дек-16, 12:34 
В состав GTK+ входит бэкенд Broadway, позволяющий отрисовывать вывод  в окне web-браузера, передавая данные через WebSocket и формируя изображение с использованием технологий HTML5. Каждое окно сопоставляется с элементом canvas, а содержимое окон передается клиенту в виде копий слоев (для скроллинга) и блоков, описывающих изменения между изображениями. Изображения отправляются в формате PNG. Для обновления содержимого окна организуется передача потока команд через "multipart/x-mixed-replace"-запросы XMLHttpRequest.

Начиная с Ubuntu 15.04 бэкенд Broadway поставляется по умолчанию. В более ранних выпусках необходимо установить пакет из PPA:

   sudo add-apt-repository ppa:malizor/gtk-broadway
   sudo apt-get update
   sudo apt-get upgrade
   sudo apt-get install broadwayd


Для использования Broadway в любом приложении на базе GTK+3 достаточно перед запуском установить переменную окружения GDK_BACKEND=broadway, после чего интерфейс приложения станет доступен при открытии в браузере страницы http://127.0.0.1:8080. Для запуска нескольких приложений, с присвоением для них разных номеров портов, следует использовать вспомогательный дисплейный сервер broadwayd.

Например:

   broadwayd
   GDK_BACKEND=broadway gedit

Если после запуска произошёл крах, можно попробовать отключить в программе работу с глобальным меню и исчезающими полосами прокрутки:

   GDK_BACKEND=broadway UBUNTU_MENUPROXY= LIBOVERLAY_SCROLLBAR=0 gedit

Для запуска ещё одного приложения, в broadwayd следует указать номер сеанса, после чего номер порта для него выбирается по формуле "8080  + номер". Например (127.0.0.1:8081):

   broadwayd :1
   GDK_BACKEND=broadway gtk3-demo

Для доступа с другого ПК можно прикрепить обработчик на другой IP-адрес при помощи опции --address, например:

   broadwayd --address 192.168.1.34 :2

Для предотвращения несанкционированного доступа для сеанса можно задать пароль, который нужно сохранить в файл ~/.config/broadway.passwd. Например:

   openssl passwd -1  > ~/.config/broadway.passwd


URL: https://developer.gnome.org/gtk3/stable/gtk-broadway.html https://launchpad.net/~malizor/+archive/ubuntu/gtk-broadway
Обсуждается: http://www.opennet.me/tips/info/3003.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Онанимус (?), 26-Дек-16, 12:34   +/
В чем профит, брат?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3

2. Сообщение от Брат (?), 26-Дек-16, 17:01   +/
Теперь сервак можно админить через веб браузер и окошки. Все как в винде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

3. Сообщение от J.L. (?), 27-Дек-16, 10:27   +/
> В чем профит, брат?

возможно сетевой функционал иксов для вайленда ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от Murad Aslanovemail (?), 30-Дек-16, 16:56   +/
Я так понимаю, можно гткшные игры теперь в браузере играть? или не получится?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

5. Сообщение от Андрей (??), 01-Янв-17, 19:29   +/
А разве много есть именно Gtk-шных игр? Вот firefox - это Gtk-шное приложение. Но от Gtk там всего ничего используется: само окно да буфер обмена точно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #6, #14

6. Сообщение от Аноним (-), 04-Янв-17, 18:07   +/
>firefox - это Gtk-шное приложение

То есть, теперь можно открыть firefox, чтобы открыть в нем firefox?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #9

8. Сообщение от mkoshelemail (?), 09-Янв-17, 22:03   +/
Селениум тесты для GTK-приложения?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

9. Сообщение от 858d214ba09f174963f9d4f132585a83 (?), 10-Янв-17, 20:50   +/
А чет не хочет открывать говорит какие-то там проблемы. И в целом у меня не вышло открыть половину GTK приложений сообщает, что проблемы с каким-то Clutter. В целом открылись два приложения редактор и калькулятор ;) Что дает огромный простор для распределенных вычислений и совместного(?) редактирования )))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

10. Сообщение от 858d214ba09f174963f9d4f132585a83 (?), 10-Янв-17, 20:54   +/
> Селениум тесты для GTK-приложения?

А не проще ли в таком случае для Selenium просто свой GDK_BACKEND сделать? С другой стороны давно уже есть и работает виртуальный X11 сервер.

В целом не вижу особого преймущества перед виртуальным X11 сервером (xvfb). Вижу только какие-то ограничения на один тип приложений на GTK.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

11. Сообщение от Аноним (-), 12-Янв-17, 06:57   +/
Абсолютно бесполезная фича
Ответить | Правка | Наверх | Cообщить модератору

12. Сообщение от Аноним (-), 18-Янв-17, 18:43   +/
А если это Python GTK то так можно?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13

13. Сообщение от ЗеленыйАноним (?), 29-Янв-17, 23:13   +/
Можно.
Еще бы реализовать, поднятия на одном порту нескольких экземпляров приложения.
Кстати кто-то пробовал через xinetd реализовать автозапуск приложения и аутентификацию пользователей?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

14. Сообщение от Аноним (-), 30-Янв-17, 17:45   +/
>именно Gtk-шных игр

Freeciv к примеру.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру