Broadway - gd-99/symbiogd GitHub Wiki
Broadway enables you to use your GTK apps right in the web desktop.
Broadway doesn't virtualize apps, it's a GTK backend (thus, it's faster). Instead of rendering apps on the screen (with the X server/Wayland/other), it's streaming it via WebSockets (compressed, and only updated regions are refreshed).
Resources:
- Official documentation: https://developer.gnome.org/gtk3/stable/broadwayd.html
- World of Gnome article: http://worldofgnome.org/running-gtk-apps-on-web-with-node-broadway/
- LinuxFr article (in French): http://linuxfr.org/users/ondex2/journaux/gtkhtml5-libreoffice-dans-le-cloud
This is an experimental technology! Use it carefully!
Installing Broadway
You'll have to install Broadway on your server:
- In Ubuntu: https://launchpad.net/~malizor/+archive/gtk-broadway
- In Archlinux: https://aur.archlinux.org/packages/gtk3-broadway/
You'll have to install the branch feat-broadway
of Symbiose in order to get latest Broadway updates in the webos.
Running an app
From Broadway
First, start the Broadway server:
broadwayd -a 0.0.0.0 -p 8080 :2
Options:
-a
: the bind address-p
: the server port:2
: the display name
Open a terminal on your server, and execute the following commands:
export GDK_BACKEND=broadway
export BROADWAY_DISPLAY=:2
And execute the app you want to use, for example gnome-calculator
or soffice --writer
(LibreOffice).
To use LibreOffice, you must execute
export SAL_USE_VCLPLUGIN=gtk3
before runningsoffice --writer
, in order to use GTK3. See https://wiki.documentfoundation.org/Using_LibreOffice_in_a_Web_Browser
Then, you should be able to access http://localhost:8080
(replace the domain by yours).
You should be able to run multiple instances of broadwayd
, just be sure to use a different port and display for each of them.
Enabling Broadway support in the webos
Once configured, enable Broadway support in the webos. For the moment, you'll have to execute this command in a Symbiose terminal: broadway
.
Options:
-H
or--host
: specify the host to connect to (e.g.broadway --host http://example.com:8081
). Defaults tohttp://localhost:8080
.
From Symbiose
To start the Broadway server, execute broadwayd
from a Symbiose terminal. You will then be able to start an app by typing its name.
Config
Config is stored in /etc/broadway
.
Logs
You can find logs in:
/var/log/broadway-server.log
for the server/var/log/broadway-apps.log
for GTK3 apps
Change GTK theme (optional)
You can change the GTK theme by editing ~/.config/gtk-3.0/settings.ini
(see http://worldofgnome.org/running-gtk-apps-on-web-with-node-broadway/ section Theming):
[Settings]
gtk-application-prefer-dark-theme=0
gtk-theme-name=Adwaita
Assumed you have Adwaita theme installed (you can choose another e.g. Elementary if you want).
Here are a full list of settings you can tweak: https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings.properties