Using Webex on 64bit Ubuntu!?

Well everytime when I need to join a webex I hate it to start my Windows VM. I use Ubuntu Precise 12.04 – 64 bit in my daily business.

Some time ago it was possible to at least join a webex on Ubuntu 64 bit but you were not able to connect to the sound system. mmh yes and from time the sharing window of the presenter is not shown and you cannot share something from your desk – sometimes or always. It had depend on… whatever.

Nevertheless I struggled again now. I haven’t used webex for a while (some months) and last week I wanted to join a webex from my Ubuntu desktop. Well it means joining the presentation and then call in by phone of course because audio will not work on a 64 bit Linux (Audio device is inaccessible message). ok so far so good. I was able to start the webex – the webex window opened and I was able to see the webex chat etc – but not the presentation?! Urg. Doesn’t changed when I reconnected, doesn’t changed when using Chrome instead of Firefox etc.

So switched to Windows VM again..

Frustrating thing.

But at the end I found a solution bringing you the full Webex experience on Ubuntu 12.04 – 64 bit. When I say full – I mean: Presentation Viewer, Desktop Sharing (yours and the others), Chat etc and Audio! Without a VM but with some kind of “virtualization”.

Well the solution itself is nothing magic or new but it took a while to get things done because there are some dependencies especially to that special kind of connection. The following guide will guide through the steps I took and maybe it helps you out, too. Just to mention: I love Linux because there are so many possibilities and freedom within..

My solution to get Webex running is to create a 32 bit – chroot (because I will NEVER install 32 bit libraries in my 64 bit system !!) and within it a minimal Ubuntu 12.04 system running Firefox etc. After all is setup it is enough to start a Desktop shortcut which starts the FF within the chroot… a completely clean solution the Linux way..

Just to mention: I have tested A LOT to get things running within wine.. It was the first idea because I thought well it will feel like windows for webex but without a VM. I have tested IE 6, IE 7, IE 8, FF 17, FF27, different versions of Chrome. All of them with different wine settings. Nothing helps. I even cannot get the webex started because of different kind of problems. But don’t care the following is the better way ;-)

  1. Prepare your main system (named x64 from now on):sudo apt-get install debootstrap schroot
    sudo mkdir -p /home/chroot/precise_i386
    sudo chown -R yourusername /home/chroot/
    cd /home/chroots
  2. I’ve used the alternate CD as my repository. Simple reason was the alternate ISO laying around on my laptop and the other option was to use an online repository – which costs time and bandwidth ;-)sudo mount -o loop /home/ISOs/Linux/ubuntu-12.04.3-alternate-i386.iso /mnt/iso
  3. The next step will debootstrap the content of the ISO (or online repo) and installs the minimal Ubuntu system:
    (instead of file:// you can simply use http:// and a path to an online repo like http://de.archive.ubuntu.com/ubuntu)

    debootstrap –variant=buildd –arch=i386 precise /home/chroot/precise_i386 file:///mnt/iso/ubuntu
  4. Now when the base system is installed successfully we will do to the configuration and preparation of our webex environment:sudo vim /etc/schroot/chroot.d/precise_i386.conf[precise_i386]
    description=Ubuntu 12.04 Precise for i386
    location=/home/chroot/precise_i386
    personality=linux32
    root-users=tfi type=directory
    users=tfi preserve-environment=trueWithin my testing I got webex finally working but still was not able to use audio. That is where the preserve-environment=true came in place – at least for me. Without it audio was not working for me. The settings means that your environment variables will be available within the chroot which has some goods and bads of course.
    The good thing is (besides fixing the audio problems) that you don’t need to use “DISPLAY=0:0” within the chroot because it’s already set. The bad is that you may interrupt something within your 64 bit system when using the same application or service the same time on both. Actually I haven’t had any problems yet – but keep in mind…
  5. Mount the required things to your chroot:sudo vim /etc/schroot/default/fstabadd:# special ones for getting pulseaudio working:
    /var/lib/dbus   /var/lib/dbus   none    rw,bind         0       0
    /run/dbus       /run/dbus       none    rw,bind         0       0
    /run/shm       /run/shm        none    rw,bind         0       0
  6. Now it’s time to go into your new 32bit world:schroot -c precise_i386 -u root
    • vim /etc/apt/sources.list –> I recommend to replace it with the content of your 64 bit version
    • vim /etc/apt/sources.list.d/webupd8team-java-precise.list
      add:deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
      deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    • apt-get update
    • apt-get install vim firefox pulseaudio pulseaudio-module-x11 linux-sound-base alsa-base alsa-utils
      I will not install Java in that step, too because I want to be sure that the browser is in place before so the Java plugin will be properly installed
    • apt-get install oracle-java7-installer adobe-flashplugin
      Well the adobe-flashplugin isn’t needed to get webex running but for testing purposes of audio within the firefox it is a good idea because you can simply open youtube later to check..
    • Optional: apt-get install alsa-oss
      That alsa-oss is needed if you want access an audio device from 2 applications at the same time. E.g to hear music and listen to the webex presenter ;-) I use it just to be sure..
    • Now you have everything in place – keep your fingers crossed and start a new firefox session with the following command (important! otherwise you will not open the FF within your chroot but a new tab of your 64 bit one):aoss firefox -new-instance -P 32bit
      Where “32bit” is just a name. “-P” and -new-instance are BOTH important. With that args you will see the new profile box of FF where you need to create a new profile  – e.g. named “32bit”. Why is that important? Otherwise you will use your 64 bit profile because the default of schroot is to mount the /home dir within the chroot. That means your 64 bit firefox profile folder will be available within your 32bit chroot (and will try to use the 64 bit Java and other plugins of course) . To avoid that simply create a new profile and start firefox everytime with that profile within your 32bit chroot.
  7. Ok so you should see your 32bit firefox and when you type in “about:plugins” in the address bar you should see the Java plugin which is pointing to somewhere i386 within the path name!Check your Java by open www.java.com/verify
    Check your Audio by open youtube and starting a video – you should hear sound !
    Check that webex would start with your 32 bit FF by open www.webex.de/testmeeting.html
  8. Create a new Desktop shortcut within your 64 bit environment like this:[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=Webex Firefox
    Icon=firefox
    Comment=32bit Firefox with Java
    Exec=schroot -c precise_i386 — aoss firefox -new-instance -P 32bit
    GenericName[de_DE]=32bit Firefox with Java
    Name[de_DE]=32bit FirefoxYou may have to adapt that to your settings of course. No DISPLAY=.. needed here because of the things mentioned in step 4.
  9. The same for your 64 bit FF to ensure that it uses the 64 bit instead:[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=Firefox
    Icon=firefox
    Comment=64bit Firefox
    Exec=firefox -new-instance -P 64bit
    GenericName[de_DE]=64bit Firefox
    Name[de_DE]=64bit Firefox
  10. Enjoy… :o)

When you (still) having Audio problems within your 32 bit chroot you should check the following:

  1. Try to set the permission of /dev/shm to world writeable
  2. /var/lib/dbus/machine-id must be identical (copy it) within your 64 bit system and your chroot
  3. Check that all bind mounts are done correctly! That means check the content of Step 5 above and compare the 64 bit system with an ls -la within your chroot
  4. Execute aplay within your chroot – it should show you your audio device like this:aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: PCH [HDA Intel PCH], device 0: VT1802 Analog [VT1802 Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: PCH [HDA Intel PCH], device 2: VT1802 HP [VT1802 HP]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
  5. Check the websites at the bottom of this page

Links:

  • http://www.pro-linux.de/artikel/2/1547/32-bit-chroot-umgebung-unter-debian-einrichten.html (German only)
  • http://wiki.ubuntuusers.de/schroot (German only)
  • https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_from_within_a_chroot_.28e.g._32-bit_chroot_in_64-bit_install.29

[:de]

Well everytime when I need to join a webex I hate it to start my Windows VM. I use Ubuntu Precise 12.04 – 64 bit in my daily business.

Some time ago it was possible to at least join a webex on Ubuntu 64 bit but you were not able to connect to the sound system. mmh yes and from time the sharing window of the presenter is not shown and you cannot share something from your desk – sometimes or always. It had depend on… whatever.

Nevertheless I struggled again now. I haven’t used webex for a while (some months) and last week I wanted to join a webex from my Ubuntu desktop. Well it means joining the presentation and then call in by phone of course because audio will not work on a 64 bit Linux (Audio device is inaccessible message). ok so far so good. I was able to start the webex – the webex window opened and I was able to see the webex chat etc – but not the presentation?! Urg. Doesn’t changed when I reconnected, doesn’t changed when using Chrome instead of Firefox etc.

So switched to Windows VM again..

Frustrating thing.

But at the end I found a solution bringing you the full Webex experience on Ubuntu 12.04 – 64 bit. When I say full – I mean: Presentation Viewer, Desktop Sharing (yours and the others), Chat etc and Audio! Without a VM but with some kind of “virtualization”.

Well the solution itself is nothing magic or new but it took a while to get things done because there are some dependencies especially to that special kind of connection. The following guide will guide through the steps I took and maybe it helps you out, too. Just to mention: I love Linux because there are so many possibilities and freedom within..

My solution to get Webex running is to create a 32 bit – chroot (because I will NEVER install 32 bit libraries in my 64 bit system !!) and within it a minimal Ubuntu 12.04 system running Firefox etc. After all is setup it is enough to start a Desktop shortcut which starts the FF within the chroot… a completely clean solution the Linux way..

Just to mention: I have tested A LOT to get things running within wine.. It was the first idea because I thought well it will feel like windows for webex but without a VM. I have tested IE 6, IE 7, IE 8, FF 17, FF27, different versions of Chrome. All of them with different wine settings. Nothing helps. I even cannot get the webex started because of different kind of problems. But don’t care the following is the better way ;-)

  1. Prepare your main system:
    • sudo apt-get install debootstrap schroot
    • sudo mkdir -p /home/chroot/precise_i386
    • sudo chown -R yourusername /home/chroot/
    • cd /home/chroots
  2. I’ve used the alternate CD as my repository. Simple reason was the alternate ISO laying around on my laptop and the other option was to use an online repository – which costs time and bandwidth ;-)sudo mount -o loop /home/ISOs/Linux/ubuntu-12.04.3-alternate-i386.iso /mnt/iso
  3. The next step will debootstrap the content of the ISO (or online repo) and installs the minimal Ubuntu system:
    (instead of file:// you can simply use http:// and a path to an online repo like http://de.archive.ubuntu.com/ubuntu)debootstrap –variant=buildd –arch=i386 precise /home/chroot/precise_i386 file:///mnt/iso/ubuntu
  4. Now when the base system is installed successfully we will do to the configuration and preparation of our webex environment:sudo vim /etc/schroot/chroot.d/precise_i386.conf

    [precise_i386]
    description=Ubuntu 12.04 Precise for i386
    location=/home/chroot/precise_i386
    personality=linux32
    root-users=tfi

    type=directory
    users=tfi

    preserve-environment=true

    Within my testing I got webex finally working but still was not able to use audio. That is where the preserve-environment=true came in place – at least for me. Without it audio was not working for me. The settings means that your environment variables will be available within the chroot which has some goods and bads of course.
    The good thing is (besides fixing the audio problems) that you don’t need to use “DISPLAY=0:0” within the chroot because it’s already set. The bad is that you may interrupt something within your 64 bit system when using the same application or service the same time on both. Actually I haven’t had any problems yet – but keep in mind…

  5. Mount the required things to your chroot:sudo vim /etc/schroot/default/fstab

    add:

    # special ones for getting pulseaudio working:
    /var/lib/dbus   /var/lib/dbus   none    rw,bind         0       0
    /run/dbus       /run/dbus       none    rw,bind         0       0
    /run/shm       /run/shm        none    rw,bind         0       0

  6. Now it’s time to go into your new 32bit world:schroot -c precise_i386 -u root
    • vim /etc/apt/sources.list –> I recommend to replace it with the content of your 64 bit version
    • vim /etc/apt/sources.list.d/webupd8team-java-precise.list
      add:
      deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
      deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
    • apt-get update
    • apt-get install vim firefox pulseaudio pulseaudio-module-x11 linux-sound-base alsa-base alsa-utils
      I will not install Java in that step, too because I want to be sure that the browser is in place before so the Java plugin will be properly installed
    • apt-get install oracle-java7-installer adobe-flashplugin
      Well the adobe-flashplugin isn’t needed to get webex running but for testing purposes of audio within the firefox it is a good idea because you can simply open youtube later to check..
    • Optional: apt-get install alsa-oss
      That alsa-oss is needed if you want access an audio device from 2 applications at the same time. E.g to hear music and listen to the webex presenter ;-) I use it just to be sure..
    • Now you have everything in place – keep your fingers crossed and start a new firefox session with the following command (important! otherwise you will not open the FF within your chroot but a new tab of your 64 bit one):aoss firefox -new-instance -P 32bit
      Where “aoss” is optional, “32bit” is just a name. “-P” and -new-instance are BOTH important. With that args you will see the new profile box of FF where you need to create a new profile  – e.g. named “32bit”. Why is that important? Otherwise you will use your 64 bit profile because the default of schroot is to mount the /home dir within the chroot. That means your 64 bit firefox profile folder will be available within your 32bit chroot (and will try to use the 64 bit Java and other plugins of course) . To avoid that simply create a new profile and start firefox everytime with that profile within your 32bit chroot.
  7. Ok so you should see your 32bit firefox and when you type in “about:plugins” in the address bar you should see the Java plugin which is pointing to somewhere i386 within the path name!
  8. Create a new 32bit FF Desktop shortcut within your 64 bit environment like this:[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=Webex Firefox
    Icon=firefox
    Comment=32bit Firefox with Java
    Exec=schroot -c precise_i386 — aoss firefox -new-instance -P 32bit
    GenericName[de_DE]=32bit Firefox with Java
    Name[de_DE]=32bit Firefox

    You may have to adapt that to your settings of course.
    No DISPLAY=.. needed here because of the things mentioned in step 4.

  9. The same for your 64 bit FF to ensure that it uses the 64 bit instead:[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=Firefox
    Icon=firefox
    Comment=64bit Firefox
    Exec=firefox -new-instance -P 64bit
    GenericName[de_DE]=64bit Firefox
    Name[de_DE]=64bit Firefox
  10. Enjoy… :o)

When you (still) having Audio problems within your 32 bit chroot you should check the following:

  1. Try to set the permission of /dev/shm to world writeable
  2. /var/lib/dbus/machine-id must be identical (copy it) within your 64 bit system and your chroot
  3. Check that all bind mounts are done correctly! That means check the content of Step 5 above and compare the 64 bit system with an ls -la within your chroot
  4. Execute aplay within your chroot – it should show you your audio device like this:aplay -l**** List of PLAYBACK Hardware Devices ****
    card 0: PCH [HDA Intel PCH], device 0: VT1802 Analog [VT1802 Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: PCH [HDA Intel PCH], device 2: VT1802 HP [VT1802 HP]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
  5. Check the websites at the bottom of this page

Links: