-
Notifications
You must be signed in to change notification settings - Fork 2
Install
How to install this package
-
Configure DNS
All major web browsers limit WebRTC audio and video connections to SSL-enable sites.
While the Big Blue Button install script can automatically obtain an SSL certificate for you, it can not provision a DNS name and ensure that it points to your server.
See here for more information about this step.
-
Install Big Blue Button
Use a current copy of the bbb-install script. It's under active development, so I recommend against saving a copy locally. In particular, you'll need the version from my github repository instead of the standard version from bigbluebutton.org.
A reliable configuration uses an Amazon EC2 instance running Ubuntu 18. Start an c5.2xlarge instance based on standard Ubuntu 18, as much disk space as you'd like (the system can't quite fit into the 8 GB default, so I often use 10 GB for testing), a fairly open security group (more so than the default which only allows ssh), then download and run bbb-install, something like this:
wget -O- -q https://raw.githubusercontent.com/BrentBaccala/bbb-install/master/bbb-install.sh | sudo bash -s -- -v bionic-230-dev -r www.freesoft.org -w -s YOUR-SITE-NAME -e YOUR-EMAIL
-
Configure authentication into Big Blue Button
There are several ways to do this.
-
I recommend the
bbb-auth-jwt
package, installed like this:sudo apt install bbb-auth-jwt
Now only users with links generated by the
bbb-mklogin
script can use the system.Since the
bbb-vnc-collaborate
package gives UNIX accounts out to Big Blue Button users, this approach provides the greatest control -
BigBlueButton's standard front end is Greenlight, which can be installed by adding a
-g
switch to the bbb-install.sh call above. Check the Greenlight documentation for more information about what to do next (like adding users). The default Greenlight configuration allows anybody to sign up as a user, so Greenlight probably isn't what you want if usingbbb-vnc-collaborate
.
Incidentally, you can re-run the install script with altered switches (like
-g
) without harm. -
-
Install one or the other of the VNC services
-
sudo apt install bbb-vnc-collaborate
This is the flagship product, designed for classroom use where each student gets a UNIX account and remote desktop, and the teacher can view and interact with all of the student desktops.
-
sudo apt install bbb-wss-proxy
This is a simple proxy that allows connections to existing VNC servers.
It is permitted to install both, since they listen on two different URLs.
-
-
Only those packages that are strictly required to run remote desktops are now installed, but some other packages are useful:
- A terminal;
sudo apt install gnome-terminal
- The DBUS server:
sudo apt install dbus-x11
(required for gnome-terminal) - A web browser;
sudo apt install chromium-browser
- A whiteboard;
sudo apt install xournal
- anything else you'd like to run on your desktops
- A terminal;
-
Put the following one-line config in
/etc/skel/.fvwm/config
(and create the directory/etc/skel/.fvwm
):PipeRead 'python3 -m vnc_collaborate print fvwm_config'
The FVWM config is shipped with the Python package, and this pulls in the config without having to hard-wire the location where the package is installed.
The scripts detect at runtime whether the user is in group
bigbluebutton
and selects either teacher or student configuration automatically. -
At this point, the remote desktops should be working.
From a Big Blue Button session, "share remote desktop" and use the URL
wss://HOST/vnc/{jwt}
-
Inside the teacher (and the student) desktops, you may want to run
set-gnome-terminal-fonts
to get more convenient control over the display fonts.You might want to run
xrandr
to set the display geometry. I like to usexrandr --fb 1280x768
.You might want to set the default display geometry in
/etc/vnc.conf
. -
To obtain "teacher mode" access (a grid view of all student desktops), add the teacher account to the
bigbluebutton
group, using a command like this:sudo adduser BrentBaccala bigbluebutton
Then hide and restore the teacher's desktop to obtain the grid view.
- Clicking on a student's desktop brings that desktop full screen and allows interaction with it.
- SHIFT-ALT-Q escapes back to the grid view. You can also get back to the grid view by hiding and restoring the teacher's remote desktop.
- The right button menu includes a screenshare option that can be used to project any desktop (teacher or student) to all of the other desktops.
- Students (viewers) can be selectively deafed using the right button pull down menu in the grid view. Clicking on a student's desktop undeafs that student, while escaping back to the grid re-deafs them (if they were deafed in the first place). This feature can be used to facilitate break-out or lab sessions, where the students are working independently and the teacher wishes to speak with them individually.
-
Drop me a line at
[email protected]
.In particular, I'm changing the design of the scripts fairly frequently right now (February 2021), so let me know so I can let you know when these instructions change.