-
Notifications
You must be signed in to change notification settings - Fork 64
Broadway
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!
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.
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.
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
.
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 is stored in /etc/broadway
.
You can find logs in:
-
/var/log/broadway-server.log
for the server -
/var/log/broadway-apps.log
for GTK3 apps
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