How do I get WebEx working with audio on Ubuntu?

2019 update: WebEx through Chrome on Ubuntu works fine for me with screen sharing (even in personal rooms) and the ability to start meetings. You should use the url with "meet" in it not "join" for personal rooms eg. abc.webex.com/meet/xxx

The steps below may not work anymore.

The following steps should work (tested on Mint 18 based on Ubuntu 16.04 and Mint 19 based on Ubuntu 18.04):

  1. Remove 64 bit Firefox if installed:

    sudo apt-get remove firefox
    
  2. Install 32 bit Firefox 52 (or earlier version). Go to download and extract the 32-bit Firefox ESR installer. Make sure it doesn't auto update by changing the update settings in preferences.

  3. For Firefox 52: Launch Firefox and type about:config in the location bar.

  4. For Firefox 52: Accept the risks and then add a key (right click mouse → New → Boolean)

  5. For Firefox 52: Call the key plugin.load_flash_only and set it to false

  6. For Firefox 52: Add a Firefox extension for switching the user agent e. g. User-Agent Switcher or edit the general.useragent.override string property.

  7. For Firefox 52: Set the user agent to an earlier version of Firefox on Linux e. g.

    Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0
    
  8. Close Firefox

  9. Download the .tar.gz 32-bit JRE package for Linux on www.java.com and store the file in the folder Downloads in your home folder (i. e. ~/Downloads). It will be of the form: jre-8u161-linux-i586.tar.gz.

  10. Then do the following to extract the JRE in a shell:

    sudo mkdir -p -v /opt/java/32
    cd ~/Downloads
    tar -zxvf jre-8u161-linux-i586.tar.gz
    sudo mv -v jre1.8.0_* /opt/java/32
    
  11. Now the Java needs to be linked to Firefox. In a shell:

    mkdir -p ~/.mozilla/plugins/
    cd /opt/java/32/jre1.8.0_161
    ln -sf $PWD/lib/i386/libnpjp2.so ~/.mozilla/plugins/
    
  12. Launch Firefox and WebEx should now work.

  13. If it doesn't work and the wrong Java plugin appears to be loaded e. g. IcedTea, then remove them in a shell:

    sudo apt-get remove icedtea-plugin icedtea-8-plugin icedtea-netx icedtea-netx-common 
    
  14. If Firefox 32 bit or Java or WebEx don't work, there may be missing dependencies. Try:

    sudo apt-get install libgtk-3-0:i386 libasound2:i386 libdbus-glib-1-2:i386 libxt6:i386 libxtst6:i386 libcanberra-gtk-module:i386 libcanberra-gtk3-module:i386 topmenu-gtk3:i386 libpangoxft-1.0-0:i386 libxft2:i386 libpangox-1.0-0:i386 libxmu6:i386 libxv1:i386 libasound2-plugins:i386
    

Another and probably the simplest way is to use ( Chrome web store > Extensions > Cisco Webex Extension );I have just tested it on Ubuntu 16.04 with Chrome version 60.3 and everything but screen sharing (which is not available) works perfectly well.

Please, keep in mind that this is a Chrome based application, not a browser plugin. You'll need to open that application and use it instead of pasting the URL directly to Chrome.

mid 2018 Update: webex with screen sharing works perfectly fine on Ubuntu 16/18 on latest Chrome and Firefox using dedicated plugin for screen sharing

early 2018 Update: Website app has been updated. Now it's possible to connect easily with all versions of webex so dedicated webex app is not really usefull anymore. Screen sharing on Ubuntu is still not possible though. Tested with chrome.


WebEx in VirtualBox

It might be wise to run WebEx inside a virtual machine such as VirtualBox. Without this security measure, the WebEx software will have unrestricted access to your system.

  1. Install VirtualBox:

    sudo apt install virtualbox
    
  2. Download a 32-bit (i386) Ubuntu ISO and optionally verify the ISO
  3. Install the 32-bit Ubuntu in VirtualBox and run these (and all following) commands there:

    sudo apt install virtualbox-guest-{dkms,utils,x11}
    sudo apt update
    sudo apt full-upgrade
    sudo apt autoremove
    sudo apt install libpangox-1.0-0
    

    Then reboot the guest OS.
    This enables host/guest shared clipboard, updates the software, and installs a WebEx dependency.

  4. Install Java

    • Alternative 1: OpenJDK

      sudo apt install icedtea-8-plugin
      

      To remove warnings about missing "Symantec Class 3 SHA256 Code Signing CA" certificate, get the certificate, save it as x.pem, and run:

      sudo keytool -importcert -file x.pem -keystore /etc/ssl/certs/java/cacerts -storepass changeit
      
    • Alternative 2: Oracle Java
      Oracle Java can be installed via the Web Upd8 Java PPA:

      sudo add-apt-repository ppa:webupd8team/java
      sudo apt update
      sudo apt install oracle-java8-installer
      
  5. Try a WebEx test meeting
  6. Check whether all dependencies are met:

    ldd ~/.webex/*/*.so | grep -i not
      libjawt.so => not found
      libjawt.so => not found
      libpangox-1.0.so.0 => not found
    

    libjawt.so can be ignored. The libpangox-1.0-0 package mentioned earlier should take care of libpangox-1.0.so.0.
    How to find packages containing any other missing files:

    sudo apt install apt-file
    sudo apt-file update
    apt-file search libpangox-1.0.so.0
    

Notes

Tested with Ubuntu 16.04 host and guest OS. Audio was only tested with Oracle Java.

libjawt.so is not shown as missing with this command:

LD_LIBRARY_PATH='/usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386:/usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server' ldd ~/.webex/*/*.so | grep -i not

Screenshot of the WebEx test meeting

screenshot