Category: WebEx

WebEx on 64-bit Ubuntu 13.10

Periodically, I use WebEx with work. It seems like it is just often enough to remind me that I didn’t make sure it was working since my last install.

Well, thanks to Russ Lowenthal, I found an easy fix to get it working.

Ask Ubuntu: How to I make Cisco WebEx work with 13.10 64bit?

Existing directory

Well first, he has you look for missing libraries in the config directory. The problem is, I had two of them already.

[sourcecode]
$ ls $HOME/.webex
1124 1424 lastshareindex.bak
[/sourcecode]

I just deleted the directory to start from scratch.
[sourcecode]
rm -r .webex/[/sourcecode]

I started a new WebEx from my browser. I just logged into the meeting and ended it. After that, I had just one directory there:

[sourcecode]
$ ls $HOME/.webex
1424

[/sourcecode]

As a side note, the Meeting Center opens at this point. I just can’t share my desktop or view someone else’s.

Finding Missing Libraries

Next, I ran this command to identify the missing libraries.

[sourcecode]
ldd $HOME/.webex/1424/*.so >>check.txt
[/sourcecode]

I could have opened the check.txt with gedit or something like that. It was easier to use grep to find all of the “not found” lines:

[sourcecode]
$ grep "not found" check.txt
libgtk-x11-2.0.so.0 => not found
libgdk-x11-2.0.so.0 => not found
libXmu.so.6 => not found
libXtst.so.6 => not found
libjawt.so => not found
libjawt.so => not found
libXmu.so.6 => not found
libpangoxft-1.0.so.0 => not found
libXft.so.2 => not found
libpangoft2-1.0.so.0 => not found
libpangox-1.0.so.0 => not found
[/sourcecode]

Then, I installed the apt-file program.

[sourcecode]
sudo apt-get install apt-file
apt-file update
[/sourcecode]

Finally, I used it to search each of the libraries that were not found.

[sourcecode]
$ apt-file search libXmu.so.6
libxmu6: /usr/lib/x86_64-linux-gnu/libXmu.so.6
libxmu6: /usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0
libxmu6-dbg: /usr/lib/debug/usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0
[/sourcecode]

Once I knew the libraries, I could use that to install them. Not each of these actually installed packages because some were dependencies.

[sourcecode]
sudo apt-get install -y libgtk2.0-0:i386
sudo apt-get install -y libxmu6:i386
sudo apt-get install -y libgcj14-awt:i386
sudo apt-get install -y libpangoxft-1.0-0:i386
sudo apt-get install -y libxft2:i386
sudo apt-get install -y libpangoft2-1.0-0:i386
sudo apt-get install -y libpangox-1.0-0:i386
[/sourcecode]

I didn’t even have to reboot or even restart my browser. The next meeting worked fine and showed me the shared desktop.

WebEx in Fedora 15 (64 bit)

At one point, I thought WebEx was working natively in 64-bit Linux.  Either I am mistaken or it no longer works on 64-bit.  So, I decided to dust off my old 32-bit hack where you install 32-bit versions of Java and Firefox to make it all work.

Earlier, I had thought I would use my regular 64-bit installation, and I had posted my hooking Java up to Firefox for WebEx.  I was rightly corrected on troshlyak’s blog.  The 64-bit will work, but you can’t share your desktop or view another’s desktop.  So, I am back to the old way.  So, here’s what I did…

I downloaded the two programs:

I created a directory in ~/bin/webex to hold it all.  Under that, I put the Java SDK under the “jdk1.7.0_01” directory.  Then, I put Firefox under “firefox”.

Environment Script:

I created this script in ~/bin/webex/env.sh:

[sourcecode]
#!/bin/sh

export WEBEX_HOME=~/bin/webex
export JDK_HOME=$WEBEX_HOME/jdk1.7.0_01
export JAVA_HOME=$JDK_HOME/jre
export FIREFOX_HOME=$WEBEX_HOME/firefox
export MOZ_PLUGIN_PATH=$FIREFOX_HOME/plugins
export PATH=$FIREFOX_HOME:$JAVA_HOME/bin/:$JDK_HOME/bin/:$PATH
[/sourcecode]

To make sure you have it right, you can check it like this:

[sourcecode]
[skp@pecan bin]$ . ~/bin/webex/env.sh
[skp@pecan bin]$ which java
~/bin/webex/jdk1.7.0_01/jre/bin/java
[skp@pecan bin]$ java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Server VM (build 21.1-b02, mixed mode)
[/sourcecode]

Now, you can link in the Java plugin like this:

[sourcecode]
mkdir $MOZ_PLUGIN_PATH
ln -s $JAVA_HOME/lib/i386/libnpjp2.so $MOZ_PLUGIN_PATH/libnpjp2.so
[/sourcecode]

Now, fire up firefox.  Note you may be asked to create the WebEx profile.  Make sure you create a profile with the same name you use on the command line so it won’t ask you again.

[sourcecode]
firefox –no-remote -P WebEx http://java.com/en/download/testjava.jsp
[/sourcecode]

This should give you a successful Java applet working on the test page.  You also should see the architecture as i386.

Java Test Successful and shows i386

Finally, I created a ~/bin/webex.sh script to launch webex easily for me.

[sourcecode]
#!/bin/bash

cd ~/bin/webex
. ./env.sh
firefox –no-remote -P WebEx
[/sourcecode]

And you should be good to go.

Tips for WebEx on 64-bit Fedora 15

Things are settling down now on my Fedora 15, and it is time to get WebEx working.  After a few Google searches, I came across instructions on using 32-bit Firefox on 64-bit Fedora.

I had WebEx working in my 64-bit Ubuntu installation, so I decided to not settle for a 32-bit hack. I didn’t get a good how-to going, but here’s some tips that might help:

First, get Java working. I have Sun’s JDK 1.7 installed. I am not sure the version matters. Open JDK or Sun’s JDK should work, and the 1.6 should be fine. From this posting, I found the command to link the Java plugin to Firefox:

[sourcecode]
sudo /usr/sbin/alternatives –install \
/usr/lib64/mozilla/plugins/libjavaplugin.so \
libjavaplugin.so.x86_64 \
/usr/java/default/lib/amd64/libnpjp2.so 20000
[/sourcecode]

For Chrome, I used this command:

[sourcecode]
sudo ln -s \
/etc/alternatives/libjavaplugin.so.x86_64 \
/usr/lib64/chromium-browser/plugins/libjavaplugin.so.x86_64
[/sourcecode]

If this still doesn’t work, you can troubleshoot with these commands:

[sourcecode]
ls -l /usr/java/default/lib/amd64/libnpjp2.so
ls -l /usr/lib64/mozilla/plugins
ls -l /etc/alternatives/libjavaplugin.so.x86_64
[/sourcecode]

Now, make sure this page comes up and says that the Java plugin is working:
Java.com: How do I test whether Java is working on my computer?

If that works for you, move on to WebEx:
WebEx Join Test

Update: Unfortunately, while the Join Test works, it is not a good test. The 64-bit will not work with Desktop Sharing. If you plan to try to view someone’s desktop, you will need to fall back to the 32-bit version of Firefox and Java. You can view the requirements here, and notice that 27.27 has updated to requiring 32-bit.

Resources:

Software to Watch: Big Blue Button

I happened across some Open Source software called Big Blue Button.  It looks like it might be an alternative to WebEx, but you have to setup and host the server piece yourself.

I liked the page talking about the open source software that they build upon.  There were several projects I was familiar with and several that I hadn’t heard of.  I am always looking for new tools for the toolbox!

Why would I be looking for an alternative for WebEx?  Well, because of answers like this: no support for productivity tools.  Also because of no support for Ubuntu 64bit.  I can’t blame WebEx though — they only develop for where the market is.  And, to their credit, they have increased support for Linux.  I have it working now, and that is what counts.

More Resources

WebEx working again in Ubuntu 9.10-64bit!

It seems like this is the pattern with me and WebEx.  I tinker to get it working, I upgrade, it breaks, repeat.  Well, my most recent fling through this cycle started with a broken hard drive.  Actually, several things started it.  First, I originally thought my laptop had a 32-bit processor.  When I found out the new version of PeopleSoft requires a 64-bit OS, I did some research and found that it was actually a 64-bit processor.  Then, when I sent the laptop off to have the hard drive replaced, I figured that was the time to put 64-bit Ubuntu on it.

So, that is how it started, and then, I couldn’t get WebEx to work.  I got Eclipse to work on 64-bit Java, Java worked in the browser, and everything was fine.  I didn’t want to try to pull it all out and reinstall the 32-bit Java just to get WebEx working.  So, I decided to attempt to try to install the 64-bit and 32-bit versions side by side.  With some help, I got it to work:

Ubuntu Forums: 32-bit and 64-bit Firefox at the same time

The first step was installing Java.  It was pretty simple and straight forward.  I downloaded it from Sun’s website.  Essentially, you just extract it and set your environment variables to use it.  The path I chose was $HOME/bin/java.

Next, I found that you cannot use the 32-bit version of Java with the 64-bit version of Firefox.  Firefox throws out all of the 32-bit plugins with this message: “wrong ELF class”.    So, I installed Firefox by downloading it from Firefox’s website.  I extracted it to $HOME/bin/java/firefox.

The next key was linking the Java plugin in the path where Firefox would see it.  First, I linked the plugin into plugins directory:

ln -s $JAVA_HOME/lib/i386/libnpjp2.so libnpgp2.so

Once in the Firefox plugins directory, you have to make sure Firefox knows where the plugins directory is with the MOZ_PLUGIN_PATH variable.

So, to recap, I have:

  • Java installed at $HOME/bin/java
  • Firefox installed at $HOME/bin/java/firefox
  • Java pluing installed at $HOME/bin/java/firefox/plugins from $HOME/bin/java/jdk…/lib/i386/libnpjp2.so

Then, I created an environment script that sets all of the paths and variables to make it work:

#!/bin/sh
export PATH=~/bin/java/firefox:~/bin/java/jdk1.6.0_18/jre/bin/:~/bin/java/jdk1.6.0_18/bin/:$PATH
export JAVA_HOME=~/bin/java/jdk1.6.0_18/jre
export MOZ_PLUGIN_PATH=~/bin/java/firefox/plugins

Finally, I created a script to launch firefox:

#!/bin/bash

cd ~/bin/java
. ./env.sh
firefox --no-remote -P WebEx

And, it worked!

WebEx Error

I have been struggling to get WebEx to work now that I have upgraded to Ubuntu 9.04.  I get the error below, and it failes to continue loading.  If anyone has any ideas, please let me know.  I did just upgrade to Firefox 3.5, but that didn’t fix the problem.  I also did a search on Google, and that didn’t turn up anything.

java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:628)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.sun.deploy.security.DeploySigningCertStore$1.run(DeploySigningCertStore.java:154)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeploySigningCertStore.loadCertStore(DeploySigningCertStore.java:137)
at com.sun.deploy.security.DeploySigningCertStore.load(DeploySigningCertStore.java:107)
at com.sun.deploy.security.DeploySigningCertStore.load(DeploySigningCertStore.java:92)
at com.sun.deploy.security.ImmutableCertStore.load(ImmutableCertStore.java:43)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(TrustDecider.java:245)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(TrustDecider.java:218)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(TrustDecider.java:208)
at sun.plugin.security.PluginClassLoader.getPermissions(PluginClassLoader.java:150)
at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:192)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:171)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:143)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:682)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:785)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:2315)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)
at sun.applet.AppletPanel.run(AppletPanel.java:368)
at java.lang.Thread.run(Thread.java:619)

I did check to make sure I had the ubuntu-restricted-extras and the libstdc++5 installed from this earlier post.