Skip to content

Instantly share code, notes, and snippets.

@pshlos46
Forked from mshkrebtan/webex-ubuntu.md
Last active October 15, 2018 14:04
Show Gist options
  • Save pshlos46/236676bece3c7a9a6111c54dbd11b8c6 to your computer and use it in GitHub Desktop.
Save pshlos46/236676bece3c7a9a6111c54dbd11b8c6 to your computer and use it in GitHub Desktop.
Run Cisco Webex on 64-bit Ubuntu 16.04

[WIP]Run Cisco Webex on 64-bit Ubuntu 16.04

With Audio and Screen Sharing Enabled

This guide is based on the below resources:

Short Description - Goal

The problem is that Cisco doesn't support 64bit Linux for WebEx. Actually if you run any 32bit distro, it works. Since that is so 20 years ago, our aim is to enable Multiarch so that we can have all the necessary i386 packages installed and have a self-contained Firefox 32bit installation with 32bit JRE and an isolated profile that won't interfere with the rest of our system for the sole purpose of opening WebEx links.

The other workaround is to download each time the .jnlp file and then open it using the 32bit javaws. I have not tried/setup this solution extensively but up to the point to have the 32 bit supporting binaries it is the same. Then you just run javaws [run-options] <jnlp-file> each time to launch the WebEx.

Enable support for 32-bit executables

Add the i386 architecture to the list of dpkg architectures :

sudo dpkg --add-architecture i386

Install the libraries required to execute ELF-32 executables:

sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Install Firefox 52 ESR (32-bit)

Beginning with Firefox 52 (released March 2017), plug-in support is limited to Adobe Flash, and drops support for NPAPI, impacting plugins for Java, Silverlight, and other similar NPAPI based plugins. Hence you need the ESR release. You can read more on that here: https://www.java.com/en/download/help/firefox_java.xml

Download Firefox ESR for Linux (32-bit) from here.

Unpack it to somewhere, for example to /opt/webex/:

sudo mkdir -p /opt/webex/
sudo tar -xjvf firefox*esr*.tar.bz2 -C /opt/webex/

Install the libraries required for Firefox (i386) to run smoothly:

sudo apt-get install \
    libgtk-3-0:i386 \
    libasound2:i386 \
    libdbus-glib-1-2:i386 \
    libxt6:i386 \
    libxtst6:i386 \
    libcanberra-gtk-module:i386 \
    libcanberra-gtk-3-module:i386 \
    topmenu-gtk3:i386

Install 32-bit JRE

Download Oracle JRE for Linux (a tar.gz archive for x86 architecture) from here.

Unpack it to /opt/webex/:

sudo tar -xzvf jre*linux-i586.tar.gz -C /opt/webex/
sudo mv /opt/webex/jre* /opt/webex/jre

Enable Java support in Firefox

Create symbolic links for the Java browser plugin libraries:

sudo mkdir /opt/webex/firefox/plugins/
ln -s \
    /opt/webex/jre/lib/i386/libawt.so \
    /opt/webex/jre/lib/i386/libjawt.so \
    /opt/webex/jre/lib/i386/libnpjp2.so \
    /opt/webex/firefox/plugins

Install the libraries required for Webex to run

sudo apt-get install \
    libpangoxft-1.0-0:i386 \
    libxft2:i386 \
    libpangox-1.0-0:i386 \
    libxmu6:i386 \
    libxv1:i386 \
    libasound2-plugins:i386

Create a Firefox launch script

cat << 'EOF' | sudo tee /opt/webex/firefox.sh
#!/bin/bash

export ENV_HOME=/opt/webex
export FIREFOX_HOME=$ENV_HOME/firefox
export MOZ_PLUGIN_PATH=$ENV_HOME/firefox/plugins
export JAVA_HOME=$ENV_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH

#export JPI_PLUGIN2_DEBUG=1

$FIREFOX_HOME/firefox --no-remote -P
EOF

This script will start a new instance of Firefox with the ProfileManager. Choose an existing Firefox profile or create a new one.

You might want to specify a specific profile to start with. Just add the profile name after the -P flag.

Don't forget to make the script executable:

sudo chmod a+x /opt/webex/firefox.sh

You might want to create a symlink, like this:

sudo ln -s /opt/webex/firefox.sh /usr/local/bin/firefox-i386

Start a Webex session

Launch the script and join a Webex session.

If webex.com sends you a jnlp file and Firefox asks what to do with it, just download it. Further, in the Firefox Preferences > Applications, set the action for JNLP files: they should be opened with javaws (Java Web Start) which can be found here:

/opt/webex/jre/bin/javaws

(Optional) Install the missing libraries required by Webex

Find out what required libraries are be missing (note that the session number may be different):

ldd ~/.webex/T30_MC/*.so | grep "not found"

You can use http://packages.ubuntu.com/ to find out which packages contain the libraries.

It is OK to have libjawt.so being not found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment