Продолжаем качать тему по оперативному запуску КОМПАС-3D в операционных системах на базе ядра Linux. В прошлом посте был описан процесс установки Wine и запуска с его помощью на Ubuntu. Нам очень приятно, что данная статья и описанный в ней процесс запуска КОМПАС-3D в Wine, привлёк внимание пользователей и был осуществлён запуск КОМПАС-3D на ОС FreeBSD.
А мы же в это время дошли до отечественных ОС. Начнём с буквы А (чтобы остальным не было обидно) и рассмотрим в этой статье установку на “Альт” и Astra Linux.
Подробнее про нативную версию
Планы на создание нативного приложения под Linux у нас есть, можете посмотреть картинку ниже (она отсюда). Цель статьи не заменить нативное приложение под Linux, а дать возможность всем желающим начать работу прямо сейчас. Мы будем периодически публиковать такие небольшие статьи в ходе работ.
Рассказывает методист Станислав Ермохин:
Установка КОМПАС-3D на ОС “Альт”
С сайта разработчика был скачан дистрибутив “Альт 9.2 Рабочая станция p9”.
Стандартное руководство к “Альт” нам рекомендует устанавливать из репозитория пакеты wine или wine-vanilla, только пакеты эти несут нам версию 5.20, которая не умеет работать с dotnet 4.7.
И здесь у нас два варианта развития событий.
Вариант 1. Если вы хотите оставаться на стабильной девятой платформе репозитория (p9), для “Альт” есть возможность установить версию wine 6.x, перепакованную ребятами из компании Etersoft.
Обновляем список пакетов и устанавливаем пакет eepm, если он не установлен.
sudo apt-get update
sudo apt-get install eepm
Обновляем дистрибутив и цепляем пакеты из рабочих задач.
sudo epm upgrade
sudo epm upgrade 281951
sudo epm ar 283619
sudo update
Дополнение:
Но это ненадёжно, потому как пакеты рабочих задач имеют короткий срок существования и могут быть переименованы или удалены.
Вариант 2. Обновляемся до десятой платформы (p10) “Альт”, которая предлагает wine 6.14.
Устаревший вариант
Опять же ставим последнюю версию epm.
sudo apt-get install eepm && epm install 284951
Выполняем, собственно, обновление системы.
sudo epm release-upgrade
И, по итогу, чистим устаревшие пакеты.
sudo epm autoremove --direct
Дополнение:
Процедура обновления с p9 до p10 описана на сайте разработчика ОС АЛЬТ https://www.altlinux.org/Update/p10
После выполнения вариантов 1 или 2, устанавливаем Wine и Winetricks.
sudo epm play wine-staging winetricks
Создаём 32-битное окружение.
WINEARCH=win32 winecfg
Далее все аналогично предыдущей статье об установке под Ubuntu.
winetricks --force -q dotnet472
winetricks -q d3dcompiler_47 vcrun2015 corefonts
Как и ранее ставим КОМПАС-3D.
wine msiexec /i /KOMPAS-3D_v20_x86.msi
Для установки драйвера ключа защиты
sudo epm install haspd
serv haspd start
Вот и вся установка на “Альт”. Далее запускаем КОМПАС-3D по ярлыку на рабочем столе и пользуемся.
Установка КОМПАС-3D на ОС Astra Linux
Как же я ошибался, когда думал, что в Astra Linux все будет аналогично Ubuntu.
С официального сайта операционной системы скачиваем Astra Linux Common Edition (Orel) 2.12.43.
После установки операционной системы выясняем, что в стандартном репозитории wine есть, но он версии 4.0, что нам совсем не годится. Astra Linux является форком Debian, только жаль, что Debian 9, которая снята с общей поддержки, и подключить репозиторий от winehq.org (официально) не получится.
Поэтому мы ставим PlayOnLinux (хоть он и не поддерживается уже три года).
sudo apt update
sud0 apt playonlinux
Удаляем запись о сертификате с истекшим сроком действия и обновляем индекс сертификатов.
sudo sed -i '/DST_Root_CA_X3/d' /etc/ca-certificates.conf
sudo rm /etc/ssl/certs/DST_Root_CA_X3.pem
sudo update-ca-certificates -f -v
Далее запускаем PlayOnLinux (POL) в интерфейсе и скачиваем необходимую версию Wine.
В настройках POL создаём новое 32-разрядное окружение, для которого нам необходимо установить уже знакомые компоненты d3dcompiler_47, vcrun2015 и dotnet472. Первые два устанавливаются без проблем. А вот dotnet472 по ссылкам из POL даже не захотел скачиваться.
Я проверил ссылку в скрипте установки dotnet472, и она, видимо, настолько старая, что никуда не ведёт.
Поэтому окружение было пересоздано заново и принято решение, что Windows компоненты будем ставить с помощью уже знакомого winetricks. Накатываем его.
sudo apt install winetricks
Версия хоть и не новая, но работает куда стабильнее POL.
Так как wine и окружение у нас располагаются не по стандартному пути, а созданы POL, для запуска установки подсовываем соответствующие пути.
WINE=~/.PlayOnLinux/wine/linux-x86/6.18-staging/bin/wine WINEPREFIX=~/.PlayOnLinux/wineprefix/k20 winetricks -q dotnet472 d3dcompiler_47 vcrun2015 corefonts
После успешного выполнения можно запускать POL и производить установку КОМПАС-3D v20. Суть процесса установки крайне проста.
Нашего ПО нет базе POL, поэтому выбираем пункт “Установить программу, отсутствующую в списке”.
В следующем окне выбираем “Редактировать или обновить существующее приложение” и выбираем ранее созданное и настроенное окружение.
И выбираем установщик для запуска.
Далее следует стандартный процесс установки КОМПАС-3D. На рабочем столе появляется ярлык для запуска приложения.
В стандартном репозитории драйвера ключа защиты не нашлось, так что качаем драйвер по ссылке и ставим его стандартными средствами через:
sh ./dinst
Уже после установки КОМПАС-3D c помощью POL/wine выяснилось, что в этой версии POL/wine не работает клавиатура. Ни в одном приложении, даже Блокноте. И в этом плане пользователям рекомендовано обращаться в техподдержку Astra Linux.
Итак, с дистрибутивами на букву А стало более-менее понятно. В следующей части нас ожидает скачок к букве Р.
Комментарии (22)
WicRus
12.11.2021 12:43А почему не сделать билд под linux? Приверженцы dotnet'a уже несколько лет рассказывают какой же он кроссплатформенный.
Исходя из собственных попыток использования cad софта таким образом, пришёл к выводу, что максимум такого метода это хобийная разработка. Стабильность работы случайным образом зависит от версии ПО, вайна, библиотек и погоды в северном полушарии венеры.kompas_3d Автор
12.11.2021 12:44Читайте спойлер "Подробнее про нативную версию".
AndyE
13.11.2021 00:24Интересно, а как будет работать лицензирование. У меня на машине 2 системы. Я должен буду решить в какой системе мне оставить программу или смогу переключаться между системами и запускать программу без ограничений в той системе, в которой это удобнее в данный момент?
kompas_3d Автор
13.11.2021 13:24Всё зависит от такого какой у вас ключ. Цифровой только на одной системе, а физический ключ может работать даже на разных машинах и по локальной сети.
dosymep
13.11.2021 13:24насколько я помню в компасе очень много windows специфический вещей, которые где-то там внутри работают, плюс он скорей всего написан на трех языках (delphi, c++, c#).
Используемая часть .NET не вся кроссплатформенная, например в компасе используется WPF, который не стали портировать под линукс. Основной API компаса сделан на COM+ технологии, который тоже специфичный под windows.
Такую большую программу будет сложно сделать под линукс.
kompas_3d Автор
13.11.2021 13:27Тем не менее у нас есть Android-вьювер, и мы в своё время уже портировали программу с MS-DOS на Windows) Читайте спойлер "Подробнее про нативную версию" - там все планы написаны, мы все планы исполним, несмотря на все сложности.
dosymep
13.11.2021 15:33ну с ms-dos на windows сложно было? Я не удивлюсь если API у windows поддерживает dos нативно)))
бедные разработчики, которые писали автоматизацию для компаса, придётся снова тоже самое писать с другим API, компас видимо будет поддерживать три разные версии API, которые будут несовместимы.
c3d (геометрическое ядро) оно же уже портировано на Линукс, это скорей всего бOльшая часть компаса. Версия андроида это же ядро использует для рендеринга отрисовки математических команд? (вроде бы в файле компаса просто последовательность команд хранится)
Я видел планы, что до 2023 года портируете компас и лоцман, на самом деле очень хорошая новость, мне будет интересна реализация))
einhander
12.11.2021 17:05Библиотека стандартных изделий нормально работает?
kompas_3d Автор
13.11.2021 13:32При описанной в статье установке, приложения "Стандартные изделия" и "Материалы и Сортаменты" не работают. Сейчас мы тестируем доработанную версию Wine@etersoft - в ней всё должно заработать. По итогам напишем отдельную статью.
Filipp42
13.11.2021 16:52Скажите пожалуйста, а стоит ли хотя бы мечтать об открытии исходных кодов? Думаю, узнав о такой новости, множество людей бы просто вскочили со стульев и принялись бы петь плясать.
kompas_3d Автор
15.11.2021 13:27Наши исходные коды - это наша интеллектуальная собственность.
Filipp42
15.11.2021 15:37Так никто и не отнимает! Даже свободное ПО остаётся интеллектуальной собственностью, насколько я знаю. Чего уж там говорить о просто открытом коде (это не тоже самое, что СПО). Естественно я понимаю, что вы вложили и труд и деньги (и вы большие молодцы) и совершенно не обязаны отдавать результаты кому попало.
blsinthebox
17.11.2021 19:18Таски не находит
Task 284951 is unknown or still building at /usr/bin/apt-repo line 253
drWhy
Пожалуй на фоне Astra Linux ТТ (Тульский Токарев) смотрелся бы органичнее Люгера.
kompas_3d Автор
Поделитесь моделькой)
drWhy
Разве что полигональной. Или вот конвертом, тираж 500 тыс.
Это к тульчанам, у них может и Максим-Токарев найдётся.
kompas_3d Автор
Нам бы в САПР-формате) А то полигональная странно будет смотреться.