Десктоп-клиент Битрикс 24 для ОС Ubuntu


десктоп-клиент битрикс24 + ubuntu 14.04
Внимание! Данная статья устарела. На текущий момент, существует только один способ подключения к Битрикс24 под Linux - неофициальный клиент Brick.  Попытки оживить десктоп-клиент Windows под Wine пока не принесли успеха. 

Так уж получилось, что мы уже более 4 лет пользуемся продуктами семейства linux (в основном, дистрибутивами Ubuntu) и постоянно сталкиваемся с проблемами отсутствия поддержки данной ОС со стороны разных разработчиков программ.

Для семейства операционных систем debian, как в прочем, и для других дистрибутивов linux, существует целый пласт собственного программного обеспечения, но бывают случаи, когда альтернативы Windows-приложению попросту нет. Одним из таких примеров, является популярная CRM-система Битрикс24. Разработчики данной системы позаботились о клиенте для операционных систем Windows и Mac OS, но семейство linux пока обделено вниманием. Компанию 1C-Битрикс можно понять, т. к. мало создать приложение, его необходимо еще все время модернизировать и осуществлять для него техническую поддержку.

Когда у Вас в активе приложение для нескольких операционных систем, то это за собой влечет значительное расширение штата сотрудников, что неминуемо может сказаться на стоимости продукта для конечного потребителя. Тут уж приходится выбирать золотую середину. Или поддерживать все системы, но увеличить сильно стоимость продукта или ограничиться только основными операционными системами, но обеспечить доступные цены.
Перед нами была поставлена задача — установить десктопный клиент Битрикс24 для Windows на Ubuntu 14.04 и попробовать добиться синхронизации файлов, расположенных в Битрикс24.Диске.

Что мы имеем:

  • компьютер с установленной ОС 14.04.2 LTS (64x)
  • десктопный клиент Битрикс24 (версия 3.3.5.28) для ОС Windows
  • сильное желание не отставать от Windows по удобству использования сервиса Битрикс24

Как решить проблему

Первое, что необходимо сделать — это установить на Ubuntu программное обеспечение Wine, которое позволяет реализовать Windows API на операционных системах семейства linux (по сути, эмулятор Windows).

В репозитории Ubuntu 14.04 (trusty) хранятся несколько версий Wine. 
При запуске команды:

    $ sudo apt-get install wine

устанавливается стабильный релиз Wine 1.6.2, но, забегая вперед, мы сразу Вас предупредим о возникших неполадках в работе на данном релизе Wine приложения Битрикс24.

Десктопное приложение установилось в штатном режиме и после запуска с иконки на рабочем столе оно успешно стартовало.

Далее, начались проблемы. Системный монитор стал показывать нагрузку на ЦП в 20% со стороны приложения Битрикс24, что явно является не нормой, т. к. приложение находилось в пассивном режиме и не было никаких коммуникаций, а для тестов использовался компьютер на базе Intel i7. Для такого процессора 20% это явно перебор.

bitrix24 ubuntu 2

Сначала я подумал, что оно зависло, но потом, после перезапуска компьютера и прочих проверок, я увидел точно такую же картину. Стоило запустить десктоп-приложение Битрикс24 и одно ядро процессора "наглухо" загружалось.

bitrix24 ubuntu 3

Решение данной проблемы нашлось достаточно быстро. Очевидно, все проблемы были в текущей версии Wine1.6, поэтому было принято решение поставить нестабильную, но регулярно обновляемую версию Wine1.7. Поскольку, для обоих версий существует один репозиторий, то необходимо ввести всего одну команду. Открываем терминал (CRTL + T) и начинаем колдовать.

    $ sudo apt-get install wine1.7

После установки новой версии Wine, десктопное приложение Битрикс24 нормально запустилось, но появилась новая беда. Дело в том, что команда Canonical при разработке Ubuntu 14.04 отказалась от схемы com.canonical.Unity.Panel  и теперь, для попадания в информационную панель нужно применять другие алгоритмы. В версии Wine1.6 новый механизм отображения ярлыков приложений в трее был реализован, а вот в версии Wine1.7 что-то разработчики данного продукта явно не учли и при запуске Битрикс24 приложения возникала проблема входа в него. Приложение висит в памяти, работает, но открыть его без ярлыка в трее у Вас нет возможности, т.е. полноценно работать уже не получиться. Есть только одно решение данной проблемы. В тот момент, когда Вам приходит сообщение от системы или другого пользователя, Вы можете, кликнув на уведомление, вызвать само приложение. Назвать это полноценным решением для пользователей у меня не поворачивается язык. Мы приняли решение искать возможность отображения ярлыка программы Битрикс24 в трее. 

Решение было найдено. Нашлись энтузиасты, которые пропатчили Unity на предмет отображения сторонних индикаторов в трее. Установка данного решения может производится двумя путями: 

  • установка через репозиторий
  • непосредственная установка скачанных пакетов

Установка через репозиторий.

    $ sudo add-apt-repository ppa:gurqn/systray-trusty  -y && sudo apt-get upd ate && sudo apt-get upgrade 

Данный способ, на момент написания статьи, уже устарел, т.к. пакеты, которые содержаться в репозитории имеют более ранние версии (7.2.4) чем те, что установлены в системе (7.2.5 при условии регулярных обновлений). Соответственно, ничего в системе не обновится и Вы не получите никакого результата.

Установка обновлений из пакетов

Мы, специально для Вас, подготовили необходимые файлы для загрузки прямо из статьи.

 tar

Состав пакета:

libunity-core-6.0-9_7.2.4+14.04.20141217-0ubuntu1-systray-ppa1_amd64.deb

libunity-core-6.0-dev_7.2.4+14.04.20141217-0ubuntu1-systray-ppa1_amd64.deb

unity_7.2.4+14.04.20141217-0ubuntu1-systray-ppa1_amd64.deb

unity-services_7.2.4+14.04.20141217-0ubuntu1-systray-ppa1_amd64.deb

Вы можете скачать данный архив и по очереди установить все пакеты. Для любителей командной строки подойдут следующие манипуляции:

Если возникнут проблемы с зависимостями, то мы запускаем команду: 

    $ sudo apt-get install -f 
    $ sudo dpkg -i *.deb

После проведения данных манипуляций, необходимо разрешить отображение в трее всех значков.

    $ gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

Если Вас не устраивает отображение всех значков в трее, то можно разрешить отображать только значки, которые создаются программами в Wine

    $ gsettings set com.canonical.Unity.Panel systray-whitelist "['Wine']"

После данного этапа можно либо просто выйти из учетной записи, либо перезагрузить компьютер. После очередного входа в свою учетную запись, Вы запускаете десктоп-приложение Битрикс24 и видите, как оно начинает штатно работать.

десктоп клиент Ubuntu

Как Вы можете заметить, значёк в трее работает, приложение запущено в штатном режиме, синхронизация файлов при добавлении или редактировании на локальном компьютере происходит

Что точно работает
    • Чат портала;
    • Нетворк;
    • Синхронизация файлов;
    • Всплывающие уведомления;
    • Аудио звонки;
    • Открытие ссылок из чата в окне браузера;
    • Проверка обновлений программы;
    • История чата и другие функции.

Возникли проблемы
    • Не работает видео-чат по причине того, что Wine не умеет грамотно передавать запросы от USB устройств;
    • Обновление десктоп-приложения Битрикс24 версия 3.4.31.31 оказалось нестабильным для работы под Wine. Работает с вылетами при запуске и при вызове процедуры "Копировать вставить из буфера обмена". Вывод - обновляться на эту верию нет смысла;
    • Из-за нестабильной работы десктоп-приложения Битрикс24 версия 3.4.31.3 нет возможности использовать функционал демонстрации экрана.
    • Приложение запускается только при эмуляции в Wine режима работы Windows XP;
    • Необходимо отказываться от обновлений Unity либо настроить запрет обновлений данного компонента.

На всякий случай выкладываю предыдущую версию десктоп-клиента Битрикс24.

 tar

Версия программы

Битрикс24 десктоп-клиент 3.3.5.28 от 28.01.2015 г.

Настройка запрета обновления пакета

Запретить обновление пакетов в Ubuntu 14.04 можно двумя способами:  

  • Воспользоваться страрой и надежной командной строкой;
  • Заблокировать через менеджер пакетов Synaptic;

Запрещаем через командную строку

    $ sudo echo libunity-core-6.0-9 hold | sudo dpkg --set-selections 
    $ sudo echo libunity-core-6.0-dev hold | sudo dpkg --set-selections
    $ sudo echo unity hold | sudo dpkg --set-selections
    $ sudo echo unity-services hold | sudo dpkg --se t-selections

Запрещаем через Synaptic

Заходим в программу, находим пакет в поисковой строке, выделяем его и в меню выбираем "Пакет - Заблокировать версию"

Synaptic менеджер пакетов

ОБНОВЛЕНИЕ СТАТЬИ 24.06.2015

С момента выхода статьи нашлось решение, которое позволяет не отказываться от обновлений Unity. Решением данной проблемы является программа Данная программа реализует возможность вывода иконок приложений, которые не умеют размещаться в системном трее Unity. Прежде всего, это касается программ, которые работают под Wine.

Разберемся что умеет данный индикатор. По умолчанию, пока нет запущенных программ (использующих трей) в памяти компьютера, данный индикатор не появляется в трее. Как только будет запущена первая программа, то он сразу появляется в трее.

bitrix24 ubuntu 6

Данный индикатор имеет два режима работы. Первый показывает ярлыки запущенных программ по принципу, который используется в с сиcтемах семейства Windows. При нажатии на индикатор - всплывает скрытая область с запущенными ярлыками программ.

bitrix24 ubuntu 7

Второй режим программы уже гораздо интереснее. При нажатии на колесо мышки (средняя кнопка) на индикатор - иконки запущенных программ появляются в области трея, но на этом все не заканчивается. Если держать указатель мыши на индикаторе и начать крутить колесо мышки, то можно менять положение ярлыков запущенных программ по оси X. По желанию, Вы можете передвинуть ярлыки левее или правее. Сразу хочу Вас предостеречь от того, что нельзя надвигать ярлыки запущенных программ на действующие индикаторы, т.к. у Вам может отключиться возможность их перемещать и придется уже править настройки индикатора в редакторе dconf-editor. В данном редакторе Вы можете менять положение индикатора по осям X и Y. Также есть возможность цветовую гамму.

менеджер пакетов

Теперь про установку данного индикатора на Ваш компьютер.

    $ sudo apt-add-repository ppa:fixnix/indicator-systemtray-unity -y && sudo apt-get update && sudo apt-get install indicator-systemtray-unity -y

После установки необходимо перезайти в свою учетную запись, чтобы индикатор смог стартануть. По окончанию установки индикатора необходимо снять блокировку обновлений с пакетов, которые мы заблокировали ранее. Это делается точно так же через Synaptic. У меня, по какой-то причине, не получилось обновить заблокированные пакет на новые и я решил с ручника это сделать. Скачал свежие пакеты и установил их через командную строку. Все прошло штатно и без проблем. Выкладываю для вас архив со свежими пакетами Unity.  

 tar

Состав пакета:

libunity-core-6.0-9_7.2.5+14.04.20150603-0ubuntu1_amd64.deb

libunity-core-6.0-dev_7.2.5+14.04.20150603-0ubuntu1_amd64.deb

unity_7.2.5+14.04.20150603-0ubuntu1_amd64.deb

unity-services_7.2.5+14.04.20150603-0ubuntu1_amd64.deb

Вы можете скачать данный архив и по очереди установить все пакеты. Для любителей командной строки подойдут следующие манипуляции:

Остались вопросы?
У Вас другие задачи или Вы не поняли как это сделать?



Тэги:  битрикс24, ubuntu, десктоп-клиент