КОМПАС 3D уcтановка в МОС-Linux (MOS 12)

Материал из IT в школе
Перейти к навигацииПерейти к поиску


https://ascon.ru/news_and_events/news/3401/

То есть официально лучшее решение - КУПИТЬ WINE@Etersoft и КОМПАС 3D v20

по сути windows - версия КОМПАС будет установлена в слегка подправленный Эмулятор wine.


Для установки windows-версии КОМПАС 3D в эмулятор Windows wine системы МОС-Linux можно использовать приведенные ниже скрипты, которые являются сокращенной версией скрипта от Etersoft.

Они должны подходить для любых версий КОМПАС 3D x86. Для лицензионных версий нужно также установить haspd.

Также есть вероятность что скрипты помогут установить и другие программы. (в частности после их применения легко установился конструктор мультфильмов Мульти-Пульти)

Скрипты пригодны для установки только x86 версии м проверены на версиях Компас 3D LT v12 и Компас 3D V20 x86 Study

Перед установкой убедитесь, что у Вас не подключены репозитории altlinux, но подключены все репозитории МОС !!!

Как и перед любой настройкой, необходимо в первую очередь обновить систему и перезагрузить от имени root:

#!/bin/bash
/root/upd.sh
reboot

Первый скрипт самый важный, он устанавливает wine32 и его графические библиотеки, запускать его надо от имени root

#!/bin/bash


apt-get -y update
apt-get -y install i586-wine
apt-get -y install winetricks

#установка win32 дополнительных библиотек
# эквивалент команды epm  , которая на момент написания в МОС не работает, только в altlinux
LIST=""
for i in glibc-nss glibc-gconv-modules sssd-client vulkan-amdgpu libvulkan1 $(epmqp --short libnss | grep "^libnss-")  $(epmqp --short xorg-dri | grep "^xorg-dri-")
do
    epm --quiet installed $i && LIST="$LIST i586-$i"
done
epm --auto install $LIST

Если получаете ошибку с ругательством на libopenal можно попробовать

epm downgrade libopenal1

и запустить снова

Второй cкрипт запускается от имени пользователя, который будет работать с КОМПАС и предустанавливает зависимости программы КОМПАС 3D в каталог .wine архитектуры win32 (в иной архитектуре программа КОМПАС работает нестабильно в LINUX). для чистоты результата скрипт должен использоваться на компьютере, где wine еще не запускали, Перед его запуском удалите каталог ${HOME}/.wine

#!/bin/bash

WINEARCH=win32 winecfg

for i in  dotnet48 d3dcompiler_47 jet40 msxml3  msxml4 msxml6 corefonts riched20 vcrun2019 
do
winetricks --force -q ${i}
done 
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v *msxml3 /t REG_SZ /d native,builtin /f
wine reg add 'HKCU\SOFTWARE\Microsoft\Avalon.Graphics' /v DisableHWAcceleration /t REG_DWORD /d 1 /f
cp $HOME/.wine/drive_c/windows/system32/rgb9rast_2.dll $HOME/.wine/drive_c/windows/system32/rgb9rast.dll

При запросе эмулируемой архитектуры выбрать Windows 10

После исполнения скриптов, остается перейти в каталог с дистрибутивом КОМПАС и запустить установку командой wine *.msi.

БОНУС: скрипт для копирования настроенного wine на все компьютеры класса (2-15) с первого компьютера. При этом wine должен быть уже установлен на них первым скриптом. Запускается из каталога /home/student первого компьютера от имени student

#!/bin/bash

SCHOOL=648
CORP=1
CAB=41
STUDENTPASS=pass

for i in {2..15} 
do
HOST=m${SCHOOL}-${CORP}-${CAB}-${i}.local
sshpass -p ${STUDENTPASS}  ssh -o StrictHostKeyChecking=no student@${HOST} mkdir /home/student/.wine
sshpass -p ${STUDENTPASS}  rsync -e "ssh -o StrictHostKeyChecking=no" -avzh /home/student/.wine/ student@${HOST}:/home/student/.wine/ --delete
sshpass -p ${STUDENTPASS}  rsync -e "ssh -o StrictHostKeyChecking=no" -avzh /home/student/.config/menus/ student@${HOST}:/home/student/.config/menus/ --delete
sshpass -p ${STUDENTPASS}  rsync -e "ssh -o StrictHostKeyChecking=no" -avzh /home/student/.local/share/desktop-directories/ student@${HOST}:/home/student/.local/share/desktop-directories/ --delete
sshpass -p ${STUDENTPASS}  ssh -o StrictHostKeyChecking=no student@${HOST} mkdir /home/student/.local/share/applications/
sshpass -p ${STUDENTPASS}  ssh -o StrictHostKeyChecking=no student@${HOST} mkdir /home/student/.local/share/applications/wine/
sshpass -p ${STUDENTPASS}  rsync -e "ssh -o StrictHostKeyChecking=no" -avzh /home/student/.local/share/applications/wine/ student@${HOST}:/home/student/.local/share/applications/wine/ --delete
done