The OpenNET Project / Index page

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

Удалённая работа с GTK-приложениями через браузер
В состав 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
 
Ключи: broadway, gtk, gdk, browser / Лицензия: CC-BY
Раздел:    Корень / Пользователю / X Window

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Онанимус (?), 12:34, 26/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В чем профит, брат?
     
     
  • 2.2, Брат (?), 17:01, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь сервак можно админить через веб браузер и окошки. Все как в винде.
     
  • 2.3, J.L. (?), 10:27, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В чем профит, брат?

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

     

  • 1.4, Murad Aslanov (?), 16:56, 30/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я так понимаю, можно гткшные игры теперь в браузере играть? или не получится?
     
     
  • 2.5, Андрей (??), 19:29, 01/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А разве много есть именно Gtk-шных игр? Вот firefox - это Gtk-шное приложение. Но от Gtk там всего ничего используется: само окно да буфер обмена точно.
     
     
  • 3.6, Аноним (-), 18:07, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >firefox - это Gtk-шное приложение

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

     
     
  • 4.9, 858d214ba09f174963f9d4f132585a83 (?), 20:50, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А чет не хочет открывать говорит какие-то там проблемы. И в целом у меня не вышло открыть половину GTK приложений сообщает, что проблемы с каким-то Clutter. В целом открылись два приложения редактор и калькулятор ;) Что дает огромный простор для распределенных вычислений и совместного(?) редактирования )))
     
  • 3.14, Аноним (-), 17:45, 30/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >именно Gtk-шных игр

    Freeciv к примеру.

     

  • 1.8, mkoshel (?), 22:03, 09/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Селениум тесты для GTK-приложения?
     
     
  • 2.10, 858d214ba09f174963f9d4f132585a83 (?), 20:54, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Селениум тесты для GTK-приложения?

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

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

     

  • 1.11, Аноним (-), 06:57, 12/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Абсолютно бесполезная фича
     
  • 1.12, Аноним (-), 18:43, 18/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А если это Python GTK то так можно?
     
     
  • 2.13, ЗеленыйАноним (?), 23:13, 29/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Можно.
    Еще бы реализовать, поднятия на одном порту нескольких экземпляров приложения.
    Кстати кто-то пробовал через xinetd реализовать автозапуск приложения и аутентификацию пользователей?
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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