Broadway - GTK3的HTML5前端
Broadway是GTK+的HTML5前端,也就是说,在浏览器上即可使用GTK应用。它通过websocket传输数据,并尽量在浏览器绘制图形,减少像素的传输,在广域网上有比VNC更好的体验。不过,它不支持传输声音,同时,大部分GTK+应用以Linux为主要平台,在Windows上可能需要更繁琐的配置。
开始
如果使用GNOME桌面(或者有GTK+应用),那么Broadway很可能已经安装在系统中。如果没有,安装libgtk-3-bin
。
然后,运行broadwayd [:显示编号]
,如broadwayd :5
。如果有Listening on ...
的提示,Broadwayd就开始工作了。打开浏览器,访问127.0.0.1:[端口]
,其中端口是8080+[显示编号]
。于是,:5
的端口号是8085
。
然后,执行GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 evince
,如果安装了evince(一个文档查看器),浏览器中会出现evince的界面。这里,evince
可以用其它GTK+应用代替。
浏览器可以使用epiphany
,GNOME项目的基于WebKit的浏览器,它提供了有点像Safari的界面。Firefox和Chromium都不能用Broadway显示。gnome-terminal也不能使用。
安全
Broadway只支持HTTP和基于crypt()
调用的密码验证,并不安全,尤其是在广域网上。如果要在服务器上提供Broadway服务,务必使用反向代理,并使用更强的密码验证。如果可能,使用HTTPS。为了让Broadway正常工作,需要适当设置一下反向代理,让它能正确处理Websocket请求。Nginx的设置可以参看https://www.nginx.com/blog/websocket-nginx/。