КОМПАС 3D уcтановка в МОС-Linux (MOS 12): различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
Строка 51: Строка 51:
</syntaxhighlight>
</syntaxhighlight>
После исполнения скриптов, остается перейти в каталог с дистрибутивом КОМПАС и запустить установку командой wine *.msi.  
После исполнения скриптов, остается перейти в каталог с дистрибутивом КОМПАС и запустить установку командой wine *.msi.  
Ну и на последок скрипт для копирования настроенного wine на все компьютеры класса (2-15) с первого компьютера
<syntaxhighlight lang="bash">
#!/bin/bash
SCHOOL=648
CORP=1
CAB=41
for i in {2..15}
do
HOST=m${SCHOOL}-${CORP}-${CAB}-${i}.local
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
</syntaxhighlight>
[[Категория:МОС]]
[[Категория:МОС]]
[[Категория:Скрипты]]
[[Категория:Скрипты]]

Версия 16:58, 11 декабря 2022

В настоящее время отсутствует (но по некоторой информации готовится) версия КОМПАС 3D для Linux

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

Обращаем внимание, что согласно лицензии бесплатно в учебном заведении можно установить только LT версию https://edu.ascon.ru/main/download/freeware/

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

#!/bin/bash

#установить или восстановить wine32 после проблем с libopenal1
if [ ! -z "`apt-get -y install i586-wine 2>&1 | grep libopenal | grep Depends`" ]; then
epm --auto downgrade libopenal1
rm /etc/apt/sources.list.d/alt.list
apt-get -y update
apt-get -y install i586-wine
fi

#установка win32 дополнительных библиотек
# эквивалент команды epm play i586-fix , которая на момент написания в МОС не работает, только в 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

Второй cкрипт предустанавливает зависимости программы КОМПАС 3D в каталог .wine архитектуры win32 (в иной архитектуре программа работает нестабильно). скрипт исполнялся от пользователя, который будет запускать КОМПАС для чистоты результата скрипт должен использоваться на компьютере, где wine еще не запускали, Удалите каталог .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

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

Ну и на последок скрипт для копирования настроенного wine на все компьютеры класса (2-15) с первого компьютера

#!/bin/bash

SCHOOL=648
CORP=1
CAB=41

for i in {2..15} 
do
HOST=m${SCHOOL}-${CORP}-${CAB}-${i}.local
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