понеділок, 30 травня 2016 р.

Многострадальная тема - Cisco Webex на Linux 64-bit

Вот и Я столкнулся с данной проблемой при переходе на 64-битную Ubuntu. В Интернете уже есть множество вопросов, обсуждений и решений. Насколько мне удалось понять - никто делать нормальную поддержку для линуксов не будет, сделали единожды для 32-бит - и хорошо. А что касается решений - большинство из них либо устаревшие, либо очень сложные. В любом случае, универсального решения (да ещё такого, чтобы автоматический скрипт написать) можно не ждать. Придется немного поковырять самостоятельно. Единственное, что Вам нужно 100% - 32-битный браузер и библиотеки. Итак, каркас настройки берем из этой статьи (она тоже устаревшая) - https://habrahabr.ru/post/163771/
Чтоб скачать последнюю 32-битную версию firefox смотрим в этот файл:
http://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
На момент написания этого поста была доступна версия 46.0.1, а формат - tar.bz2 (формат вроде не менялся). Соответственно, для красоты качаем таким образом:


wget -O firefox-46-0-1.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux&lang=en-US"

Теперь распаковываем в удобную для вас директорию или же, исходя из статьи в ~/32bit/ (tar xzf, а вообще, Вы уже должны уметь работать с архивами). Далее доустанавливаем 32-битные библиотеки, коих в новых версиях убунты уже нет. Поэтому (по крайней мере на Убунте 16.04), ставим так:


sudo apt-get install lib32z1

Профили в браузере создавать не обязательно, да и неудобно будет каждый раз перезапускать браузер или ещё чего (два firefox не могут быть запущены одновременно, даже если один - 32-битный, а второй - 64-битный). Далее нужна действительно Java (JRE) от Oracle, почему-то не удалось завести вебекс с openjdk и всем прилегающим (если у Вас получится - отпишитесь в комментах). Все старые версии доступны лишь с имеющимся аккаунтом в Oracle, а на данній момент существующая 8-ая версия не подходит. К счастью, ещё можно наковырять 7-ую, которая и доступна и подходит - http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html Распаковывайте самостоятельно :)
Теперь почти как в той статье создаем ссылку на плагин (у Вас может несколько отличатся, но Вы же делаете всё сознательно, не так ли?):


cd ~/32bit/firefox/plugins
ln -s ~/32bit/jdk1.7.0_80/jre/lib/i386/libnpjp2.so .

Ну и конечно же скрипт для запуска firefox:


#!/bin/bash
export ENV_HOME=~/32bit
export FIREFOX_HOME=$ENV_HOME/firefox
export MOZ_PLUGIN_PATH=$FIREFOX_HOME/plugins
export JDK_HOME=$ENV_HOME/jdk1.7.0_80
export JAVA_HOME=$JDK_HOME/jre
export PATH=$JAVA_HOME/bin:$JDK_HOME/bin:$PATH
$FIREFOX_HOME/firefox --no-remote

Как и в статье с хабра, делаем исполняемым и будем его запускать:
chmod +x ~/32bit/firefox.sh

Также, там говорится, что в Убунту 14.04 надо будет установить еще libxmu6:i386. Не знаю, как там в 14.04, но в 16.04 этого оказалось недостаточно. Запускаем из консоли firefox, далее тот webex и смотрим в консоль какие валятся ошбики от java. Скорее всего, будет жаловаться на недостающие библиотеки или файлы. Тут уж надо смотреть Вам лично, потому как не обязательно, что у всех будет одинаково. К примеру, у меня жаловался на недостающие файлы:
libgtk-3.so.0, libXtst.so
Какие же пакеты надо установить? Для этого используем команду apt-file find (кстати, apt-file возможно тоже надо установить). Итого:


apt-file find libgtk-3.so.0
libgtk-3-0: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
libgtk-3-0: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.1800.9
libgtk-3-0-dbg: /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.1800.9

а значит, надо установить libgtk-3-0:


apt-get install libgtk-3-0

И так проделайте со всеми недостающими файлами. Вроде всё - можно перезагружать браузер и пробовать. Пишите в комментах, если что-то не получается, возможно смогу чем-то помочь (но не обещаю :)) А если же нет - держитесь там, всего доброго! :)