Исправляем ошибки запуска клиента 1С:Предприятие в современных выпусках Linux

  • Автор:

fixing-1c-client-startup-errors-linux-000.pngОтношения клиентского приложения 1С:Предприятие и Linux безоблачными не назовешь, хотя нативный клиент для Linux существует уже довольно давно. Но постоянно следует учитывать массу тонкостей и уметь преодолевать сложности, особенно если вы хотите использовать клиент 1С на свежих выпусках дистрибутивов Linux. Сегодня мы разберем основные типовые проблемы запуска и пути их решения. А также немного прольем свет на причины всего происходящего.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Обычно, в случаях проблем с установкой или запуском клиента 1С:Предприятия в среде Linux принято ругать разработчиков 1С. Если быть до конца честными, то ряд претензий, конечно, обоснован, но давайте обратимся к одному интересному документу, который называется Системные требования «1С:Предприятия 8». Так как информация на веб-странице постоянно меняется, то мы специально сделали скриншот с поддерживаемыми на момент написания статьи операционными системами.

fixing-1c-client-startup-errors-linux-001.pngИ поэтому, каждый раз после возникновения проблем следует спросить себя: а есть ли моя система в списке поддерживаемых? Нет? Ну так тогда какие претензии к 1С? Никто ничего не обещал.

Но в тоже время выходят новые дистрибутивы, которые несут в себе массу интересного и полезного, поэтому многим хочется получить сразу всё: и новый дистрибутив и работающую в нем 1С. Можно ли это сделать? Можно, но следует понимать, что в случае возникновения каких-либо иных проблем поддержки вы не получите. Официально вам укажут не неподдерживаемую ОС и могут даже не посмотреть что там у вас за проблема. Поэтому все описанные ниже действия производим на свой страх и риск.

Основным способом распространения клиентского дистрибутива 1С является Единый дистрибутив, как с ним работать рассказано в нашей статье:

Единый дистрибутив 1С:Предприятие для Linux. Установка клиента

Итак, вы скачали дистрибутив, установили его, а с этим проблем обычно не возникает, но клиент не запускается. Что делать? В этом случае открываем терминал и вводим в него команду:

/opt/1cv8/x86_64/8.3.24.1624/1cv8

Где 8.3.24.1624 - номер установленной вами платформы, после чего внимательно читаем вывод, где и будет ключ к решению возникшей проблемы.

Ошибка error while loading shared libraries: libwebkit2gtk-4.0.so.37

Данная ошибка проявляется в Ubuntu 24.04 LTS и Debian 12, обозначает она то, что клиент 1С:Предприятие не может найти требуемую библиотеку, ситуацию осложняет то, что библиотека ему требуется строго указанной версии.

Начинаем с того, что проверяем наличие требуемой библиотеки в репозиториях дистрибутива, для DEB-систем выполните:

apt search libwebkit2gtk

В Debian 12 нужный пакет присутствует и его достаточно установить командой:

apt install libwebkit2gtk-4.0-37

В Ubuntu 24.04 LTS пакет более новой версии и 1С:Предприятие с ним работать не будет, поэтому идем на packages.ubuntu.com и ищем нужный пакет там. При этом искать желательно в репозиториях LTS-версий.

В нашем случае требуемый пакет нашелся в репозитории Ubuntu 22.04 LTS Jammy. Но не все так просто, если мы просто скачаем пакет и попробуем его установить, то он потребует зависимости, поэтому вам возможно придется скачать и установить сразу несколько пакетов. Для Ubuntu 24.04 нужно будет скачать:

После чего устанавливаем их в следующем порядке (версии пакетов, возможно, придется уточнить):

dpkg -i libicu70_70.1-2_amd64.deb
dpkg -i libjavascriptcoregtk-4.0-18_2.44.2-0ubuntu0.22.04.1_amd64.deb
dpkg -i libwebkit2gtk-4.0-37_2.44.2-0ubuntu0.22.04.1_amd64.deb

После чего 1С:Предприятие начнет нормально запускаться.

Ошибка libstdc++.so.6: version 'GLIBCXX_3.4.30' not found

С данной ошибкой мы столкнулись в Astra SE 1.8, Альт p11/Sisyphus и РЕД ОС 8. Она связана с порочной практикой 1С поставлять вместе с платформой системные библиотеки, с одной стороны таким образом 1С пытается уменьшить зависимость от конкретного дистрибутива, но в нашем случае собранная на одной платформе библиотека некорректно работает в другой.

Решение здесь простое - библиотеку из комплекта следует удалить или переименовать, после чего 1С начнет использовать одноименную библиотеку из состава системы которая лишена указанных проблем. Так как удалять - это плохое решение, то мы библиотеку переименуем и сделать это нужно в двух местах:

mv /opt/1cv8/x86_64/8.3.24.1624/libstdc++.so.6 /opt/1cv8/x86_64/8.3.24.1624/libstdc++.so.6.old
mv /opt/1cv8/common/libstdc++.so.6 /opt/1cv8/common/libstdc++.so.6.old

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

Ошибка libgcc_s.so.1: version `GCC_12.0.0' not found

Данная ошибка была получена в Альт p11/Sisyphus, в частности в дистрибутиве Ximper после того как мы вылечили предыдущую. Причины все те же - собранная в другой среде библиотека некорректно работает в текущем окружении. Лечение аналогичное:

mv /opt/1cv8/x86_64/8.3.24.1624/libgcc_s.so.1 /opt/1cv8/x86_64/8.3.24.1624/libgcc_s.so.1.old
mv /opt/1cv8/common/libgcc_s.so.1 /opt/1cv8/common/libgcc_s.so.1.old

После чего проблем с запуском и работой клиента 1С у нас не возникло.

Заключение

Как видим, запуск клиента 1С:Предприятие в среде современных дистрибутивов Linux вполне возможен. Мы без проблем запустили его во всех актуальных системах, таких как Debian и Ubuntu, а также в последних версиях основных отечественных дистрибутивов Astra, Альт и РЕД ОС.

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments