Code Monkey home page Code Monkey logo

conference-box's Introduction

Simple Conferencing in sandboxed VM (Webex, Zoom, ...)

This is nothing really special...

Goal:

  • Provide a ready to run an isolated Zoom (or WebEx*) Conferencing environment that can be run on Linux.
  • Download and install the software to be able to run the software on Linux
  • Run X, not Wayland, to enable screen sharing (but keeping your host system safe, isolated from the VM)
  • NOTE: Master branch has been switched to Zoom only -- see below.

How:

  • Using Vagrant to create a fresh [VirtualBox (https://www.virtualbox.org/) virtual machine image
  • Base OS: Ubuntu with a small(ish) desktop environment: LXDE
  • Uses 32-bit OS (legacy, because WebEx Java plugins required it before. This will likely change at some point because Zoom has a 64-bit native client)
  • Install Firefox + Zoom native client

*Branches (IMPORTANT):

Master branch has now been switched over to install only Zoom, because we no longer use WebEx at GENIVI. If you want to use WebEx - consider the webex+zoom branch -- however it should be considered unsuppported.

Running:

  1. Install Vagrant & VirtualBox

  2. Clone project, cd to project dir and run:

$ vagrant up --provision
  1. Open the VirtualBox user interface, find the VM and restart the VM (Do a clean ACPI Shutdown, followed by Start. Alternatively from command line: vagrant halt ; vagrant up)

  2. Check that the folder that is shared with the host is working. It seems to be automatic now - if not, try manually adding it. ~/vmshare-zoom (previously vmshare-webex) is the default path on both host and guest.

  3. Optionally use apt-get to install any software you might lack - e.g. LibreOffice if you're sharing documents.

Troubleshooting:

If you have issues with any of this:

  • Shared folder won't work
  • Shared clipboard doesn't work (also see Bugs section)
  • Guest screen won't resize when you resize the VirtualBox window (or set it to full screen)

... then you likely have mismatched guest additions installed.

VirtualBox support is beyond this project - please look elsewhere. It's always a challenge to get the guest OS set up correctly because you host system changes, VirtualBox version changes, but the guest OS might not. In particular the guest additions need to match the VirtualBox version. Since this is based on a fixed base box, there is no way to guarantee that, but installing vagrant guest additions plugin BEFORE running vagrant up / provisioning, might help.

Tweaks:

Depending on your system resources you could tweak memory or number of CPUs for better perfomance - either in the Vagrantfile before building, or later on in the VirtualBox user interface.

Bugs:

  • At the moment, shared clipboard is not working for me (it should, due to guest additions being installed, but who knows)

(!) This is not a complete list - also refer to GitHub Issues.

conference-box's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

conference-box's Issues

Error running vagrant

According to instructions I've run

vagrant up --provision
Got real name: 
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'trusty32' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'trusty32' (v0) for provider: virtualbox
    default: Downloading: http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-i386-vagrant-disk1.box
==> default: Successfully added box 'trusty32' (v0) for 'virtualbox'!
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The host path of the shared folder is missing: ~/vmshare-zoom

I've run on 64-bit Ubuntu 20.04

Add CI - preferrably Travis-like, but it must support VirtualBox

Help wanted: A public, free-for-open-source CI service that supports Vagrant & VirtualBox from the build instructions.

  • Travis-CI does not support it.
  • Semaphore has an article about using Vagrant, but it does not speak at all about using Vagrant in a Semaphore build, so IDK if it supports it.
  • For GENIVI Go.CD server we have a special agent that runs virtualbox builds, but I'm looking for something simple and directly integrated with GitHub like Travis-CI

where is the VM?

I ran your script and it took forever but I don't see a virtualbox instance anywhere in the folder...

also there is a desktop file that is created that goes to your webex page not sure if you intended to do that

Update base box to later version, and to 64 bit

  • Update to 64 bit version. (Zoom has a native client for 64 bit, and WebEx is not supported on master branch any longer).
  • Update to a later version than Ubuntu Trusty (optional...)

Steps:

  • Modify Vagrantfile to use a different base box
  • Modify scripts to download & install the i686 version of the .deb package for Zoom, instead of the i386 version.

I'm a Fedora user... but an upgrade using Ubuntu is fine - the industry seems comfortable with it. I've had some issues getting LXDE working on later Ubuntu cloud images however, so make sure to test it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.