ZaLinux.ru

Как установить Viber на Linux

Viber — это ещё один мессенджер, в котором можно звонить как по телефону, а также делать видеозвонки. По функциям он очень похож на WhatsApp. На страницах сайта ZaLinux.ru уже рассказывалось, как установить WhatsApp на Linux. Среди пользователей Linux также есть желающие иметь Viber на настольном компьютере. Это особенно актуально в связи с тем, что для Viber нет веб-клиента. А также в комбайнах, совмещающих большое количество разнообразных мессенджеров Franz и Rambox, тоже нет поддержи Viber.

Но для пользователей Linux разработчики Viber подготовили официальные клиенты для компьютеров и ноутбуков.

Далее будет показано, как установить официальный клиент Viber на различные дистрибутивы Linux.

Установка Viber в Ubuntu, Linux Mint, Kali Linux, Debian, а также в их производные

Пакет, который распространяется с официального сайта, имеет зависимости (это другие пакеты, которые требуются для его работы и обязательно должны быть установлены), которые не могут быть разрешены. То есть при установке пакета некоторые зависимости не будут установлены. Это плохо и поэтому рекомендуется пойти чуть более длинным путём — сделать небольшой патч официального пакета.

Откройте консоль и выполните там несколько команд.

Первой командой мы устанавливаем зависимости:

sudo apt install libxss1 `apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'` libpulse0 libasound2 libnss3 libxcomposite1 libxcursor1 libxdamage1 libcurl4 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-libav libssl1.0-dev

Скачиваем сам пакет:

wget https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb

Распаковываем скаченный пакет deb:

ar x viber.deb

Распаковываем контрольный архив:

tar xzf control.tar.gz

Делаем крошечный патч: меняем libcurl3 на libcurl4 в файле control. Дело в том, что libcurl3 — это устаревшая версия библиотеки и она больше недоступна в репозиториях, так как заменена версией libcurl4 Дополнительно мы меняем запись libssl1.0.0 на ту версию пакета, которая доступна в системе:

sed -i 's/libcurl3/libcurl4/' ./control
sed -i "s/libssl1.0.0/`apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'`/" ./control

Вот и всё — мы пропатчили всё что нужно, теперь осталось собрать пакет обратно.

tar --ignore-failed-read -cvzf control.tar.gz pre{inst,rm} postinst md5sums control

Вновь собираем deb:

ar rcs viber_fixed.deb debian-binary control.tar.gz data.tar.xz

Устанавливаем наш пофиксенный пакет:

sudo dpkg -i viber_fixed.deb

Установка Viber в Fedora и родственные дистрибутивы

Разработчики предоставляют для скачивания официальный пакет, для установки которого, в теории, достаточно выполнить в командной строке следующее (первая команда скачивает пакет, а вторая — его устанавливает):

wget https://download.cdn.viber.com/desktop/Linux/viber.rpm
sudo dnf viber.rpm

Я не проверял, всё ли будет в порядке или же требуется исправление по аналогии с предыдущим пакетом.

Установка Viber в Arch Linux, BlackArch и их производные

Установка в эти системы выполняется из AUR:

git clone https://aur.archlinux.org/viber.git
cd viber
makepkg -si

За установку в Arch Linux вы можете быть спокойны. Всё проверено сообществом, всё что нужно пропатчено, все необходимые зависимости будут установлены и всё отлично заработает. В общем, ну вы меня поняли… Arch Linux рулит!!!!111одинодинадин

Подключение настольного клиента Viber в Linux

Далее процесс подключения настольного клиента к вашему аккаунту одинаковый на всех системах.

Запустите программу из меню или из командной строки:

viber

Вам нужно будет ответить на вопрос, есть ли у вас уже учётная запись Viber. Если нет — то будет предложено зарегистрироваться. Если есть, то ввести свой номер телефона.

Затем вам нужно будет открыть мобильный клиент Viber и распознать QR код настольного приложение.

Далее настольное приложение спросит разрешение на синхронизацию. Это разрешение можно дать из мобильного клиента Viber.

Синхронизация занимает некоторое время.

В настольном Viber достаточно много настроек и опций:

Смотрите также статью «Как установить WhatsApp в Linux (рабочие способы)».

Рекомендуемые статьи:

14 Комментарии

  1. N&B

    После успешной установки не находит работающий интернет. Отражается диалоговое окно: "Нет подключения. Для активации Viber требуется подключение к интернету. Проверьте подключение и повторите попытку" с кнопкой "Повторите попытку", которую сколько ни жму - результат закольцован. Интернет в наличии есть - из него и пишу этот коммент.

  2. Alexey (Автор записи)

    Приветствую! У меня всё работало как часы (на Arch Linux). После вашего сообщения я обновил программу до последней версии и теперь она вообще не запускается )))))

    Показывает такое сообщение:

    WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed.
    QGLXContext: Failed to create dummy context
    failed to acquire GL context to resolve capabilities, using defaults..
    qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
    qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
    Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile)) 
    Received signal 6
    #0 0x7ff7ead52993 <unknown>
    #1 0x7ff7f00893c0 <unknown>
    #2 0x7ff7e6eccd7f __GI_raise
    #3 0x7ff7e6eb7672 __GI_abort
    #4 0x7ff7e7590626 qt_message_fatal()
    #5 0x7ff7e7591b31 QMessageLogger::fatal()
    #6 0x7ff7e8e5743a QSGRenderLoop::handleContextCreationFailure()
    #7 0x7ff7e8e57a14 <unknown>
    #8 0x7ff7e8e581d7 <unknown>
    #9 0x7ff7e7c69274 QWindow::event()
    #10 0x7ff7e8ec10bb QQuickWindow::event()
    #11 0x7ff7e820238e QApplicationPrivate::notify_helper()
    #12 0x7ff7e8203785 QApplication::notify()
    #13 0x7ff7e7754794 QCoreApplication::notifyInternal2()
    #14 0x7ff7e7c5e485 QGuiApplicationPrivate::processExposeEvent()
    #15 0x7ff7e7c4306b QWindowSystemInterface::sendWindowSystemEvents()
    #16 0x7ff7df921598 <unknown>
    #17 0x7ff7e775017f QEventLoop::exec()
    #18 0x7ff7e7754d81 QCoreApplication::exec()
    #19 0x00000082f69b <unknown>
    #20 0x0000007fef5c <unknown>
    #21 0x7ff7e6eb9223 __libc_start_main
    #22 0x0000005d3ee9 _start
      r8: 0000000000000000  r9: 00007ffd6cbb8550 r10: 0000000000000008 r11: 0000000000000246
     r12: 0000000004284700 r13: 00007ffd6cbb8901 r14: 0000000000000000 r15: 00007ffd6cbb88a8
      di: 0000000000000002  si: 00007ffd6cbb8550  bp: 00007ffd6cbb88b8  bx: 0000000000000006
      dx: 0000000000000000  ax: 0000000000000000  cx: 00007ff7e6eccd7f  sp: 00007ffd6cbb8550
      ip: 00007ff7e6eccd7f efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
     trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
    [end of stack trace]
    Calling _exit(1). Core file will not be generated.

    Я попробую разобраться с проблемой и напишу здесь в комментарии о решении, если оно будет найдено.

    Уточните, пожалуйста, какой у вас дистрибутив Linux? Также попробуйте запустить из командной строки, для этого наберите там:

    viber

    Напишите, какие ошибки выводятся при запуске?

  3. Alexey (Автор записи)

    Моя проблема разрешилась — оказалось что нужно просто перезагрузиться после обновления ядра.

    Проверьте, во время подключения Viber, на телефоне эта программа имеет доступ в Интернет?

    Возможно, дело в каких-нибудь блокировках провайдера или что-то такое.

    Может быть дело в настройках файервола вашего компьютера или роутера (закрыты необходимые порты).

  4. DiM

    присоединяюсь к N&B, такая же история, после установки не видит соединения с интернет.

  5. Alexey (Автор записи)

    Друзья, разобрался, просто установите пакет libssl1.0-dev:

    sudo apt install libssl1.0-dev

    Инструкцию я тоже поправил.

  6. Alexey (Автор записи)

    Кстати, совсем недавно, впервые с конца 2017 года, было обновление с Viber 7.0.0.1035 до Viber 10.3.0.37. Добавили несколько новых функций — в целом, функциональность стала ближе к клиенту под Windows.

    Некоторые из изменений:

    • поменялся внешний вид
    • можно редактировать/закреплять посты, просматривать голосвания
  7. DiM

    огромное спасибо, всё заработало

  8. Олег

    каким образом "заработало"? после каких действий? та же история: "нет подключения…"

     

  9. Олег

    В новых версиях (Linux) это уже не будет работать, и именно из-за "нет соединения", вот при "ручной" запуске: qt.network.ssl: "Incompatible version of OpenSSL" + куча других ошибок относительно QSslSocket

     

     

    1. Alexey (Автор записи)

      Зря потратил время из-за этих двух сообщений — перепроверка показала, что всё прекрасно работает. В Arch Linux и в последней версии Kali Linux — никаких проблем. Причём Kali Linux основывается на Debian Testing, которая является основой для стабильной Debian, которая является основой для Ubuntu, которая является основой для Linux Mint. Если коротко — то во всех них также работает и будет работать в будущем.

      Если у вас проблема действительно имеется, то пишите, следовали ли этой инструкции, все ли пакеты установили, какой дистрибутив используется и также скопируйте лог ошибок. Или смысл ваших сообщений в ссылке на сайт?

      1. Олег
        olej@ACER:~/2019_WORK/own.WORK/Viber$ /opt/viber/Viber
        qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
        qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
        qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
        qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
        qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
        qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
        qt.network.ssl: QSslSocket: cannot resolve sk_new_null
        qt.network.ssl: QSslSocket: cannot resolve sk_push
        qt.network.ssl: QSslSocket: cannot resolve sk_free
        qt.network.ssl: QSslSocket: cannot resolve sk_num
        qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
        qt.network.ssl: QSslSocket: cannot resolve sk_value
        qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
        qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
        qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
        qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
        qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
        qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
        qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
        qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
        qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
        qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
        qt.network.ssl: QSslSocket: cannot resolve SSLeay
        qt.network.ssl: Incompatible version of OpenSSL
        qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        
  10. Олег

    Ничего не зря! Во всех новых/свежих версиях дистрибутивов Linux устанавливается версия OpenSSL 1.1.x, например :

    $ openssl version
    OpenSSL 1.1.1b  26 Feb 2019

    А Viber собирается работать ТОЛЬКО с версией 1.0.2k (не старше) - иначе "нет соединения" (а ручной запуск из терминала отчётливо показывает кучу ошибок OpenSSL и ошибку несовместимости версии). Об этом достаточно МНОГО пишут на англоязычных сайтах (напр., https://stackoverflow.com/questions/52210603/qt-and-openssl-incompatible-version-on-ubuntu) … предлагают установить устаревшую версию OpenSSL … но Viber, который застыл в достаточно отстойном состоянии (из-за изменений в протоколах его свежих версий) не стоит того, чтобы из-за него портить дистрибутив несовместимой версией SSH/SSL.

     

    1. Alexey (Автор записи)

      Приветствую! Да, про OpenSSL всё правильно написали, но можно параллельно установить две версии: 1.0 и 1.1 — они не будут друг с другом конфликтовать, а Viber при этом будет нормально работать.

  11. SuperChel

    с федорой 30 тоже есть проблема, решение здесь https://bytefreaks.net/applications/viber-desktop-on-fedora-27-64bit-viber-cannot-connect-to-the-internet-openssl-error

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *