mirror of
				https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux.git
				synced 2025-11-03 20:06:09 +01:00 
			
		
		
		
	Solved the issue: [Gentoo installation reinstalls installed packages #126](https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/126)
		
			
				
	
	
		
			1424 lines
		
	
	
		
			53 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			1424 lines
		
	
	
		
			53 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
####################################################################################################
 | 
						|
# Name:         Autodesk Fusion 360 - Setup Wizard (Linux)                                         #
 | 
						|
# Description:  This file create the structure for the Setup Wizard.                               #
 | 
						|
# Author:       Steve Zabka                                                                        #
 | 
						|
# Author URI:   https://cryinkfly.com                                                              #
 | 
						|
# License:      MIT                                                                                #
 | 
						|
# Copyright (c) 2020-2021                                                                          #
 | 
						|
# Time/Date:    09:15/08.11.2021                                                                   #
 | 
						|
# Version:      1.5.3                                                                              #
 | 
						|
####################################################################################################
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
# DESCRIPTION IN DETAIL                                                                                                                                       #
 | 
						|
###############################################################################################################################################################
 | 
						|
# With the help of my setup wizard, you will be given a way to install Autodesk Fusion 360 with some extensions on                                            #
 | 
						|
# Linux so that you don't have to use Windows or macOS for this program in the future!                                                                        #
 | 
						|
#                                                                                                                                                             #
 | 
						|
# Also, my setup wizard will guides you through the installation step by step and will install some required packages.                                        #
 | 
						|
#                                                                                                                                                             #
 | 
						|
# The next one is you have the option of installing the program directly on your system or you can install it on an external storage medium.                  #
 | 
						|
#                                                                                                                                                             #
 | 
						|
# But it's important to know, you must to purchase the licenses directly from the manufacturer of Autodesk Fusion 360, when you will work with them on Linux! #
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
# ALL FUNCTIONS ARE ARRANGED HERE:                                                                                                                            #
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Records the installation of Autodesk Fusion 360!
 | 
						|
# This log file will later help with error analysis to find out why the installation did not work.
 | 
						|
 | 
						|
function logfile-installation {
 | 
						|
   mkdir -p "/$HOME/.local/share/fusion360/logfiles" &&
 | 
						|
   exec 5> /$HOME/.local/share/fusion360/logfiles/logfile-installation
 | 
						|
   BASH_XTRACEFD="5"
 | 
						|
   set -x
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# It will check whether Autodesk Fusion 360 is already installed on your system or not!
 | 
						|
 | 
						|
function check-if-fusion360installer-exists {
 | 
						|
fusion360_installer="$HOME/Fusion360/data/fusion360/Fusion360installer.exe" # Search for a existing installer of Autodesk Fusion 360
 | 
						|
if [ -f "$fusion360_installer" ]; then
 | 
						|
    echo "Autodesk Fusion 360 installer exist!"
 | 
						|
else
 | 
						|
    load-fusion360-installer
 | 
						|
fi
 | 
						|
}
 | 
						|
 | 
						|
function check-if-fusion360-exists {
 | 
						|
log_path="$HOME/.local/share/fusion360/logfiles/log-path" # Search for log files indicting install
 | 
						|
if [ -f "$log_path" ]; then
 | 
						|
    cp "$HOME/.local/share/fusion360/logfiles/log-path" data/logfiles
 | 
						|
    new_modify_deinstall # Exists - Modify install
 | 
						|
else
 | 
						|
    logfile_install=1
 | 
						|
    select-opengl_dxvk # New install
 | 
						|
fi
 | 
						|
}
 | 
						|
 | 
						|
function logfile-installation-standard {
 | 
						|
if [ $logfile_install -eq 1 ]; then
 | 
						|
    echo "$HOME/.wineprefixes/fusion360" >> $HOME/.local/share/fusion360/logfiles/log-path
 | 
						|
fi
 | 
						|
}
 | 
						|
 | 
						|
function logfile-installation-custom {
 | 
						|
if [ $logfile_install -eq 1 ]; then
 | 
						|
   echo "$custom_directory" >> $HOME/.local/share/fusion360/logfiles/log-path
 | 
						|
fi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Create the structure for the installation of Autodesk Fusion 360!
 | 
						|
 | 
						|
function create-structure {
 | 
						|
  mkdir -p data/extensions
 | 
						|
  mkdir -p data/fusion360
 | 
						|
  mkdir -p data/logfiles
 | 
						|
  mkdir -p data/locale
 | 
						|
  mkdir -p data/locale/cs-CZ
 | 
						|
  mkdir -p data/locale/de-DE
 | 
						|
  mkdir -p data/locale/en-US
 | 
						|
  mkdir -p data/locale/es-ES
 | 
						|
  mkdir -p data/locale/fr-FR
 | 
						|
  mkdir -p data/locale/it-IT
 | 
						|
  mkdir -p data/locale/ja-JP
 | 
						|
  mkdir -p data/locale/ko-KR
 | 
						|
  mkdir -p data/locale/zh-CN
 | 
						|
  mkdir -p data/winetricks
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load the locale for the Setup Wizard!
 | 
						|
 | 
						|
function load-locale {
 | 
						|
  wget -N -P data/locale https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/scripts/stable-branch/data/locale/locale.sh
 | 
						|
  chmod +x data/locale/locale.sh
 | 
						|
  . data/locale/locale.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-cs {
 | 
						|
  . data/locale/cs-CZ/locale-cs.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-de {
 | 
						|
  . data/locale/de-DE/locale-de.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-en {
 | 
						|
  . data/locale/en-US/locale-en.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-es {
 | 
						|
  . data/locale/es-ES/locale-es.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-fr {
 | 
						|
  . data/locale/fr-FR/locale-fr.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-it {
 | 
						|
  . data/locale/it-IT/locale-it.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-ja {
 | 
						|
  . data/locale/ja-JP/locale-ja.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-ko {
 | 
						|
  . data/locale/ko-KR/locale-ko.sh
 | 
						|
}
 | 
						|
 | 
						|
function load-locale-zh {
 | 
						|
  . data/locale/zh-CN/locale-zh.sh
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load newest winetricks version for the Setup Wizard!
 | 
						|
 | 
						|
function load-winetricks {
 | 
						|
  wget -N -P data/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
 | 
						|
  chmod +x data/winetricks/winetricks
 | 
						|
  }
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load newest Autodesk Fusion 360 installer version for the Setup Wizard!
 | 
						|
 | 
						|
function load-fusion360-installer {
 | 
						|
  wget https://dl.appstreaming.autodesk.com/production/installers/Fusion%20360%20Admin%20Install.exe -O Fusion360installer.exe
 | 
						|
  mv Fusion360installer.exe data/fusion360/Fusion360installer.exe
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# For the installation of Autodesk Fusion 360 one of the supported Linux distributions must be selected! - Part 2
 | 
						|
 | 
						|
function archlinux-1 {
 | 
						|
    echo "Checking for multilib..."
 | 
						|
    if archlinux-verify-multilib ; then
 | 
						|
        echo "multilib found. Continuing..."
 | 
						|
        archlinux-2
 | 
						|
        select-your-path
 | 
						|
    else
 | 
						|
        echo "Enabling multilib..."
 | 
						|
        echo "[multilib]" | sudo tee -a /etc/pacman.conf
 | 
						|
        echo "Include = /etc/pacman.d/mirrorlist" | sudo tee -a /etc/pacman.conf
 | 
						|
        archlinux-2
 | 
						|
        select-your-path
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function archlinux-2 {
 | 
						|
   sudo pacman -Sy --needed wine wine-mono wine_gecko winetricks p7zip curl cabextract samba ppp
 | 
						|
}
 | 
						|
 | 
						|
function archlinux-verify-multilib {
 | 
						|
    if cat /etc/pacman.conf | grep -q '^\[multilib\]$' ; then
 | 
						|
        true
 | 
						|
    else
 | 
						|
        false
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function debian-based-1 {
 | 
						|
    sudo apt-get update
 | 
						|
    sudo apt-get upgrade
 | 
						|
    sudo dpkg --add-architecture i386
 | 
						|
    wget -nc https://dl.winehq.org/wine-builds/winehq.key
 | 
						|
    sudo apt-key add winehq.key
 | 
						|
}
 | 
						|
 | 
						|
function debian-based-2 {
 | 
						|
    sudo apt-get update
 | 
						|
    sudo apt-get upgrade
 | 
						|
    sudo apt-get install p7zip p7zip-full p7zip-rar curl winbind cabextract wget
 | 
						|
    sudo apt-get install --install-recommends winehq-staging
 | 
						|
    select-your-path
 | 
						|
}
 | 
						|
 | 
						|
function ubuntu18 {
 | 
						|
    sudo apt-add-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
 | 
						|
    wget -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key -O Release.key -O- | sudo apt-key add -
 | 
						|
    sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./'
 | 
						|
}
 | 
						|
 | 
						|
function ubuntu20 {
 | 
						|
    sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
 | 
						|
    wget -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_20.04/Release.key -O Release.key -O- | sudo apt-key add -
 | 
						|
    sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_20.04/ ./'
 | 
						|
}
 | 
						|
 | 
						|
function ubuntu20_10 {
 | 
						|
    sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'
 | 
						|
    wget -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_20.10/Release.key -O Release.key -O-
 | 
						|
    sudo apt-add-repository 'deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_20.10/ ./'
 | 
						|
}
 | 
						|
 | 
						|
function ubuntu21 {
 | 
						|
    # Note: This installs the public key to trusted.gpg.d - While this is "acceptable" behaviour it is not best practice.
 | 
						|
    # It is infinitely better than using apt-key add though.
 | 
						|
    # For more information and for instructions to utalise best practices, see:
 | 
						|
    # https://askubuntu.com/questions/1286545/what-commands-exactly-should-replace-the-deprecated-apt-key
 | 
						|
 | 
						|
    sudo apt update
 | 
						|
    sudo apt upgrade
 | 
						|
    sudo dpkg --add-architecture i386
 | 
						|
    mkdir -p /tmp/360 && cd /tmp/360
 | 
						|
    wget https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_21.04/Release.key
 | 
						|
    wget https://dl.winehq.org/wine-builds/winehq.key
 | 
						|
    gpg --no-default-keyring --keyring ./temp-keyring.gpg --import Release.key
 | 
						|
    gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output opensuse-wine.gpg && rm temp-keyring.gpg
 | 
						|
    gpg --no-default-keyring --keyring ./temp-keyring.gpg --import winehq.key
 | 
						|
    gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output winehq.gpg && rm temp-keyring.gpg
 | 
						|
    sudo mv *.gpg /etc/apt/trusted.gpg.d/ && cd /tmp && sudo rm -rf 360
 | 
						|
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/opensuse-wine.gpg] https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_21.04/ ./" | sudo tee -a /etc/apt/sources.list.d/opensuse-wine.list
 | 
						|
    sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ hirsute main'
 | 
						|
}
 | 
						|
 | 
						|
function ubuntu21_10 {
 | 
						|
    # Verify the below repos exist and uncomment this block to replace the above after 21.10 release
 | 
						|
    # echo "deb [signed-by=/etc/apt/trusted.gpg.d/opensuse-wine.gpg] https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_21.10/ ./" | sudo tee -a /etc/apt/sources.list.d/opensuse-wine.list &&
 | 
						|
    # sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ impish main' &&
 | 
						|
 | 
						|
    ubuntu21
 | 
						|
}
 | 
						|
 | 
						|
function fedora-based-1 {
 | 
						|
    sudo dnf update
 | 
						|
    sudo dnf upgrade
 | 
						|
    sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
 | 
						|
}
 | 
						|
 | 
						|
function fedora-based-2 {
 | 
						|
    sudo dnf install p7zip p7zip-plugins curl wget wine cabextract
 | 
						|
    select-your-path
 | 
						|
}
 | 
						|
 | 
						|
function redhat-linux {
 | 
						|
   sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
 | 
						|
   sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
 | 
						|
   sudo dnf upgrade
 | 
						|
   sudo dnf install wine
 | 
						|
}
 | 
						|
 | 
						|
function solus-linux {
 | 
						|
   sudo eopkg install wine winetricks p7zip curl cabextract samba ppp
 | 
						|
}
 | 
						|
 | 
						|
function void-linux {
 | 
						|
   sudo xbps-install -Sy wine wine-mono wine-gecko winetricks p7zip curl cabextract samba ppp
 | 
						|
}
 | 
						|
 | 
						|
function gentoo-linux {
 | 
						|
    sudo emerge -nav virtual/wine app-emulation/winetricks app-emulation/wine-mono app-emulation/wine-gecko app-arch/p7zip app-arch/cabextract net-misc/curl net-fs/samba net-dialup/ppp
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Here you have to decide whether you want to use Autodesk Fusion 360 with DXVK (DirectX 9) or OpenGL! - Part 2
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-standard-1 {
 | 
						|
  if [ $driver_used -eq 2 ]; then
 | 
						|
      WINEPREFIX=/home/$USER/.wineprefixes/fusion360 sh data/winetricks/winetricks -q dxvk &&
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.reg &&
 | 
						|
      WINEPREFIX=/home/$USER/.wineprefixes/fusion360 wine regedit.exe DXVK.reg
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-standard-2 {
 | 
						|
if [ $driver_used -eq 2 ]; then
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.xml &&
 | 
						|
      mv DXVK.xml NMachineSpecificOptions.xml
 | 
						|
   else
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/NMachineSpecificOptions.xml
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-standard-3 {
 | 
						|
if [ $driver_used -eq 2 ]; then
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.xml &&
 | 
						|
      mv DXVK.xml NMachineSpecificOptions.xml
 | 
						|
   else
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/NMachineSpecificOptions.xml
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-custom-1 {
 | 
						|
   if [ $driver_used -eq 2 ]; then
 | 
						|
      WINEPREFIX=$filename sh data/winetricks/winetricks -q dxvk &&
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.reg &&
 | 
						|
      WINEPREFIX=$filename wine regedit.exe DXVK.reg
 | 
						|
   else
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/NMachineSpecificOptions.xml
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-custom-2 {
 | 
						|
if [ $driver_used -eq 2 ]; then
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.xml &&
 | 
						|
      mv DXVK.xml NMachineSpecificOptions.xml
 | 
						|
   else
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/NMachineSpecificOptions.xml
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
function configure-dxvk-or-opengl-custom-3 {
 | 
						|
if [ $driver_used -eq 2 ]; then
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/DXVK.xml &&
 | 
						|
      mv DXVK.xml NMachineSpecificOptions.xml
 | 
						|
   else
 | 
						|
      wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/NMachineSpecificOptions.xml
 | 
						|
   fi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Autodesk Fusion 360 will now be installed using Wine and Winetricks! - Standard
 | 
						|
 | 
						|
function winetricks-standard {
 | 
						|
   mkdir -p $HOME/.wineprefixes/fusion360
 | 
						|
   WINEPREFIX=$HOME/.wineprefixes/fusion360 sh data/winetricks/winetricks -q corefonts cjkfonts msxml4 msxml6 vcrun2017 fontsmooth=rgb win8
 | 
						|
   # We must install cjkfonts again then sometimes it doesn't work the first time!
 | 
						|
   WINEPREFIX=$HOME/.wineprefixes/fusion360 sh data/winetricks/winetricks -q cjkfonts
 | 
						|
   configure-dxvk-or-opengl-standard-1
 | 
						|
   WINEPREFIX=$HOME/.wineprefixes/fusion360 wine data/fusion360/Fusion360installer.exe -p deploy -g -f log.txt --quiet
 | 
						|
   WINEPREFIX=$HOME/.wineprefixes/fusion360 wine data/fusion360/Fusion360installer.exe -p deploy -g -f log.txt --quiet
 | 
						|
   mkdir -p "$HOME/.wineprefixes/fusion360/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options"
 | 
						|
   cd "$HOME/.wineprefixes/fusion360/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options"
 | 
						|
   configure-dxvk-or-opengl-standard-2
 | 
						|
   # Because the location varies depending on the Linux distro!
 | 
						|
   mkdir -p "$HOME/.wineprefixes/fusion360/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options"
 | 
						|
   cd "$HOME/.wineprefixes/fusion360/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options"
 | 
						|
   configure-dxvk-or-opengl-standard-3
 | 
						|
   #Set up the program launcher for you!
 | 
						|
   rm $HOME/.local/share/applications/wine/Programs/Autodesk/Autodesk\ Fusion\ 360.desktop
 | 
						|
   wget -P $HOME/.local/share/applications/wine/Programs/Autodesk https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/Autodesk%20Fusion%20360.desktop
 | 
						|
   rm $HOME/.local/share/fusion360/launcher.sh
 | 
						|
   wget -P $HOME/.local/share/fusion360 https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/launcher.sh
 | 
						|
   chmod +x $HOME/.local/share/fusion360/launcher.sh
 | 
						|
   logfile-installation-standard
 | 
						|
   manager-extensions-standard
 | 
						|
   program-exit
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Autodesk Fusion 360 will now be installed using Wine and Winetricks! - Custom
 | 
						|
 | 
						|
function winetricks-custom {
 | 
						|
   mkdir -p $custom_directory
 | 
						|
   WINEPREFIX=$custom_directory sh data/winetricks/winetricks -q corefonts cjkfonts msxml4 msxml6 vcrun2017 fontsmooth=rgb win8
 | 
						|
   # We must install cjkfonts again then sometimes it doesn't work the first time!
 | 
						|
   WINEPREFIX=$custom_directory sh data/winetricks/winetricks -q cjkfonts
 | 
						|
   configure-dxvk-or-opengl-custom-1
 | 
						|
   WINEPREFIX=$custom_directory wine data/fusion360/Fusion360installer.exe -p deploy -g -f log.txt --quiet
 | 
						|
   WINEPREFIX=$custom_directory wine data/fusion360/Fusion360installer.exe -p deploy -g -f log.txt --quiet
 | 
						|
   mkdir -p "$custom_directory/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options"
 | 
						|
   cd "$custom_directory/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options"
 | 
						|
   configure-dxvk-or-opengl-custom-2
 | 
						|
   # Because the location varies depending on the Linux distro!
 | 
						|
   mkdir -p "$custom_directory/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options"
 | 
						|
   cd "$custom_directory/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options"
 | 
						|
   configure-dxvk-or-opengl-custom-3
 | 
						|
   #Set up the program launcher for you!
 | 
						|
   rm $HOME/.local/share/applications/wine/Programs/Autodesk/Autodesk\ Fusion\ 360.desktop
 | 
						|
   wget -P $HOME/.local/share/applications/wine/Programs/Autodesk https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/Autodesk%20Fusion%20360.desktop
 | 
						|
   cd $HOME/Fusion360
 | 
						|
   wget -P $HOME/.local/share/fusion360 https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/launcher.sh
 | 
						|
   wget https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/launcher.sh -O Fusion360launcher
 | 
						|
   mv Fusion360launcher data/fusion360/Fusion360launcher
 | 
						|
   desktop-launcher-custom
 | 
						|
   logfile-installation-custom
 | 
						|
   manager-extensions-custom
 | 
						|
   program-exit
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: Airfoil Tools
 | 
						|
 | 
						|
function airfoil-tools-plugin-standard {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/raw/main/files/extensions/AirfoilTools_win64.msi &&
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine AirfoilTools_win64.msi
 | 
						|
}
 | 
						|
 | 
						|
function airfoil-tools-plugin-custom {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/raw/main/files/extensions/AirfoilTools_win64.msi &&
 | 
						|
    WINEPREFIX=$custom_directory wine AirfoilTools_win64.msi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: Additive Assistant (FFF)
 | 
						|
 | 
						|
function additive-assistant-plugin-standard {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/AdditiveAssistant.bundle-win64.msi &&
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine AdditiveAssistant.bundle-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
function additive-assistant-plugin-custom {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/AdditiveAssistant.bundle-win64.msi &&
 | 
						|
    WINEPREFIX=$custom_directory wine AdditiveAssistant.bundle-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: Czech localization for F360
 | 
						|
 | 
						|
function czech-locale-plugin-standard {
 | 
						|
    czech-locale-search-plugin-standard
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine $CZECH_LOCALE
 | 
						|
}
 | 
						|
 | 
						|
function czech-locale-plugin-custom {
 | 
						|
    czech-locale-search-plugin-custom
 | 
						|
    WINEPREFIX=$custom_directory wine $CZECH_LOCALE
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: HP 3D Printers for Autodesk® Fusion 360™
 | 
						|
 | 
						|
function hp-3dprinter-connector-plugin-standard {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/HP_3DPrinters_for_Fusion360-win64.msi &&
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine HP_3DPrinters_for_Fusion360-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
function hp-3dprinter-connector-plugin-custom {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/HP_3DPrinters_for_Fusion360-win64.msi &&
 | 
						|
    WINEPREFIX=$custom_directory wine HP_3DPrinters_for_Fusion360-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: OctoPrint for Autodesk® Fusion 360™
 | 
						|
 | 
						|
function octoprint-plugin-standard {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/OctoPrint_for_Fusion360-win64.msi &&
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine OctoPrint_for_Fusion360-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
function octoprint-plugin-custom {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/OctoPrint_for_Fusion360-win64.msi &&
 | 
						|
    WINEPREFIX=$custom_directory wine OctoPrint_for_Fusion360-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install a extension: RoboDK
 | 
						|
 | 
						|
function robodk-plugin-standard {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/RoboDK.bundle-win64.msi &&
 | 
						|
    WINEPREFIX=$HOME/.wineprefixes/fusion360 wine RoboDK.bundle-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
function robodk-plugin-custom {
 | 
						|
    mkdir -p "$HOME/Fusion360/data/extensions"
 | 
						|
    cd "$HOME/Fusion360/data/extensions"
 | 
						|
    wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/extensions/RoboDK.bundle-win64.msi &&
 | 
						|
    WINEPREFIX=$custom_directory wine RoboDK.bundle-win64.msi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Remove a exist Autodesk Fusion 360 (Wineprefix)!
 | 
						|
 | 
						|
function deinstall-exist-fusion360 {
 | 
						|
    deinstall-select-fusion360
 | 
						|
    rm -r "$deinstall_directory"
 | 
						|
    program-exit-uninstall
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
# ALL DIALOGS ARE ARRANGED HERE:                                                                                                                              #
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Progress indicator dialog
 | 
						|
 | 
						|
function progress-indicator-dialog {
 | 
						|
  (
 | 
						|
echo "5" ; sleep 1
 | 
						|
echo "# The folder structure will be created." ; sleep 1
 | 
						|
create-structure
 | 
						|
echo "25" ; sleep 1
 | 
						|
echo "# The locale files will be loaded." ; sleep 1
 | 
						|
load-locale
 | 
						|
echo "55" ; sleep 1
 | 
						|
echo "# The wine- and winetricks Script is loaded." ; sleep 1
 | 
						|
load-winetricks
 | 
						|
echo "75" ; sleep 1
 | 
						|
echo "# The Autodesk Fusion 360 installation file will be downloaded." ; sleep 1
 | 
						|
check-if-fusion360installer-exists
 | 
						|
echo "90" ; sleep 1
 | 
						|
echo "# The installation can now be started!" ; sleep 1
 | 
						|
echo "100" ; sleep 1
 | 
						|
) |
 | 
						|
zenity --progress \
 | 
						|
  --title="Autodesk Fusion 360 for Linux - Setup Wizard" \
 | 
						|
  --text="The Setup Wizard is being configured ..." \
 | 
						|
  --width=400 \
 | 
						|
  --height=100 \
 | 
						|
  --percentage=0
 | 
						|
 | 
						|
if [ "$?" = 0 ] ; then
 | 
						|
        start-launcher
 | 
						|
elif [ "$?" = 1 ] ; then
 | 
						|
        zenity --question \
 | 
						|
                 --title="$program_name" \
 | 
						|
                 --text="Are you sure you want to cancel the installation?" \
 | 
						|
                 --width=400 \
 | 
						|
                 --height=100
 | 
						|
        answer=$?
 | 
						|
 | 
						|
        if [ "$answer" -eq 0 ]; then
 | 
						|
              exit;
 | 
						|
        elif [ "$answer" -eq 1 ]; then
 | 
						|
              progress-indicator-dialog
 | 
						|
        fi
 | 
						|
elif [ "$?" = -1 ] ; then
 | 
						|
        zenity --error \
 | 
						|
          --text="An unexpected error occurred!"
 | 
						|
        exit;
 | 
						|
fi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Welcome Screen - Setup Wizard of Autodesk Fusion 360 for Linux
 | 
						|
 | 
						|
function start-launcher {
 | 
						|
  zenity --question \
 | 
						|
         --title="$program_name" \
 | 
						|
         --text="Would you like to install Autodesk Fusion 360 on your system?" \
 | 
						|
         --width=400 \
 | 
						|
         --height=100
 | 
						|
  answer=$?
 | 
						|
 | 
						|
  if [ "$answer" -eq 0 ]; then
 | 
						|
      configure-locale
 | 
						|
  elif [ "$answer" -eq 1 ]; then
 | 
						|
      exit;
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Configure the locale of the Setup Wizard
 | 
						|
 | 
						|
function configure-locale {
 | 
						|
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="Select:" --column="Language:" \
 | 
						|
                    TRUE "English (Standard)" \
 | 
						|
                    FALSE "German" \
 | 
						|
                    FALSE "Czech" \
 | 
						|
                    FALSE "Spanish" \
 | 
						|
                    FALSE "French" \
 | 
						|
                    FALSE "Italian" \
 | 
						|
                    FALSE "Japanese" \
 | 
						|
                    FALSE "Korean" \
 | 
						|
                    FALSE "Chinese")
 | 
						|
 | 
						|
[[ $response = "English (Standard)" ]] && load-locale-en && licenses-en
 | 
						|
 | 
						|
[[ $response = "German" ]] && load-locale-de && licenses-de
 | 
						|
 | 
						|
[[ $response = "Czech" ]] && load-locale-cs && licenses-cs
 | 
						|
 | 
						|
[[ $response = "Spanish" ]] && load-locale-es && licenses-es
 | 
						|
 | 
						|
[[ $response = "French" ]] && load-locale-fr && licenses-fr
 | 
						|
 | 
						|
[[ $response = "Italian" ]] && load-locale-it && licenses-it
 | 
						|
 | 
						|
[[ $response = "Japanese" ]] && load-locale-ja && licenses-ja
 | 
						|
 | 
						|
[[ $response = "Korean" ]] && load-locale-ko && licenses-ko
 | 
						|
 | 
						|
[[ $response = "Chinese" ]] && load-locale-zh && licenses-zh
 | 
						|
 | 
						|
[[ "$response" ]] || start-launcher
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - cs-CZ
 | 
						|
 | 
						|
function licenses-cs {
 | 
						|
 | 
						|
license_de=`dirname $0`/data/locale/cs-CZ/license-cs
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_cs \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - de-DE
 | 
						|
 | 
						|
function licenses-de {
 | 
						|
 | 
						|
license_de=`dirname $0`/data/locale/de-DE/license-de
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_de \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - en-US
 | 
						|
 | 
						|
function licenses-en {
 | 
						|
 | 
						|
license_en=`dirname $0`/data/locale/en-US/license-en
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_en \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back."
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
        ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - es-ES
 | 
						|
 | 
						|
function licenses-es {
 | 
						|
 | 
						|
license_es=`dirname $0`/data/locale/es-ES/license-es
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_es \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - fr-FR
 | 
						|
 | 
						|
function licenses-fr {
 | 
						|
 | 
						|
license_fr=`dirname $0`/data/locale/fr-FR/license-fr
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_fr \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - it-IT
 | 
						|
 | 
						|
function licenses-it {
 | 
						|
 | 
						|
license_it=`dirname $0`/data/locale/it-IT/license-it
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_it \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
      	;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - ja-JP
 | 
						|
 | 
						|
function licenses-ja {
 | 
						|
 | 
						|
license_ja=`dirname $0`/data/locale/ja-JP/license-ja
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_ja \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - ko-KR
 | 
						|
 | 
						|
function licenses-ko {
 | 
						|
 | 
						|
license_ko=`dirname $0`/data/locale/ko-KR/license-ko
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_ko \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
	      ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Load & View the LICENSE AGREEMENT of this Setup Wizard - zh-CN
 | 
						|
 | 
						|
function licenses-zh {
 | 
						|
 | 
						|
license_zh=`dirname $0`/data/locale/zh-CN/license-zh
 | 
						|
 | 
						|
zenity --text-info \
 | 
						|
       --title="$program_name" \
 | 
						|
       --width=700 \
 | 
						|
       --height=500 \
 | 
						|
       --filename=$license_zh \
 | 
						|
       --checkbox="$text_license_checkbox"
 | 
						|
 | 
						|
case $? in
 | 
						|
    0)
 | 
						|
        echo "Start the installation."
 | 
						|
        check-if-fusion360-exists
 | 
						|
	      ;;
 | 
						|
    1)
 | 
						|
        echo "Go back"
 | 
						|
        configure-locale
 | 
						|
	      ;;
 | 
						|
    -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
        exit;
 | 
						|
      	;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Autodesk Fusion 360 will be installed from scratch on this system!
 | 
						|
 | 
						|
function select-opengl_dxvk {
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="$text_select" --column="$text_driver" \
 | 
						|
                    TRUE "$text_driver_opengl" \
 | 
						|
                    FALSE "$text_driver_dxvk")
 | 
						|
 | 
						|
[[ $response = "$text_driver_opengl" ]] && driver_used=1 && select-your-os
 | 
						|
 | 
						|
[[ $response = "$text_driver_dxvk" ]] && driver_used=2 && select-your-os
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Go back" && configure-locale
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# For the installation of Autodesk Fusion 360 one of the supported Linux distributions must be selected! - Part 1
 | 
						|
 | 
						|
function select-your-os {
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="$text_select" --column="$text_linux_distribution" \
 | 
						|
                    FALSE "Arch Linux, Manjaro Linux, EndeavourOS, ..." \
 | 
						|
                    FALSE "Debian 10, MX Linux 19.4, Raspberry Pi Desktop, ..." \
 | 
						|
                    FALSE "Debian 11" \
 | 
						|
                    FALSE "Fedora 33" \
 | 
						|
                    FALSE "Fedora 34" \
 | 
						|
                    FALSE "openSUSE Leap 15.2" \
 | 
						|
                    FALSE "openSUSE Leap 15.3" \
 | 
						|
                    FALSE "openSUSE Tumbleweed" \
 | 
						|
                    FALSE "Red Hat Enterprise Linux 8.x" \
 | 
						|
                    FALSE "Solus" \
 | 
						|
                    FALSE "Ubuntu 18.04, Linux Mint 19.x, ..." \
 | 
						|
                    FALSE "Ubuntu 20.04, Linux Mint 20.x, Pop!_OS 20.04, ..." \
 | 
						|
                    FALSE "Ubuntu 20.10" \
 | 
						|
                    FALSE "Ubuntu 21.04, Pop!_OS 21.04, ..." \
 | 
						|
                    FALSE "Ubuntu 21.10" \
 | 
						|
                    FALSE "Void Linux" \
 | 
						|
                    FALSE "Gentoo Linux")
 | 
						|
 | 
						|
[[ $response = "Arch Linux, Manjaro Linux, EndeavourOS, ..." ]] && archlinux-1
 | 
						|
 | 
						|
[[ $response = "Debian 10, MX Linux 19.4, Raspberry Pi Desktop, ..." ]] && debian-based-1 && sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/debian/ buster main' && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Debian 11" ]] && debian-based-1 && sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/debian/ bullseye main' && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Fedora 33" ]] && fedora-based-1 && sudo dnf config-manager --add-repo https://dl.winehq.org/wine-builds/fedora/33/winehq.repo && fedora-based-2
 | 
						|
 | 
						|
[[ $response = "Fedora 34" ]] && fedora-based-1 && sudo dnf config-manager --add-repo https://dl.winehq.org/wine-builds/fedora/34/winehq.repo && fedora-based-2
 | 
						|
 | 
						|
[[ $response = "openSUSE Leap 15.2" ]] && su -c 'zypper up && zypper rr https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Leap_15.2/ wine && zypper ar -cfp 95 https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Leap_15.2/ wine && zypper install p7zip-full curl wget wine cabextract' && select-your-path
 | 
						|
 | 
						|
[[ $response = "openSUSE Leap 15.3" ]] && su -c 'zypper up && zypper rr https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Leap_15.3/ wine && zypper ar -cfp 95 https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Leap_15.3/ wine && zypper install p7zip-full curl wget wine cabextract' && select-your-path
 | 
						|
 | 
						|
[[ $response = "openSUSE Tumbleweed" ]] && su -c 'zypper up && zypper install p7zip-full curl wget wine cabextract' && select-your-path
 | 
						|
 | 
						|
[[ $response = "Red Hat Enterprise Linux 8.x" ]] && redhat-linux && select-your-path
 | 
						|
 | 
						|
[[ $response = "Solus" ]] && solus-linux && select-your-path
 | 
						|
 | 
						|
[[ $response = "Ubuntu 18.04, Linux Mint 19.x, ..." ]] && debian-based-1 && ubuntu18 && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Ubuntu 20.04, Linux Mint 20.x, Pop!_OS 20.04, ..." ]] && debian-based-1 && ubuntu20 && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Ubuntu 20.10" ]] && debian-based-1 && ubuntu20_10 && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Ubuntu 21.04, Pop!_OS 21.04, ..." ]] && ubuntu21 && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Ubuntu 21.10" ]] && ubuntu21_10 && debian-based-2
 | 
						|
 | 
						|
[[ $response = "Void Linux" ]] && void-linux && select-your-path
 | 
						|
 | 
						|
[[ $response = "Gentoo Linux" ]] && gentoo-linux && select-your-path
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Go back" && select-opengl_dxvk
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Here you can determine how Autodesk Fusion 360 should be instierlert! (Installation location)
 | 
						|
 | 
						|
function select-your-path {
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="$text_select" --column="$text_installation_location" \
 | 
						|
                    TRUE "$text_installation_location_standard" \
 | 
						|
                    FALSE "$text_installation_location_custom")
 | 
						|
 | 
						|
[[ $response = "$text_installation_location_standard" ]] && winetricks-standard
 | 
						|
 | 
						|
[[ $response = "$text_installation_location_custom" ]] && select-your-path-fusion360 && winetricks-custom
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Go back" && abort-installation
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
function desktop-launcher-custom {
 | 
						|
  file=`dirname $0`/data/fusion360/Fusion360launcher
 | 
						|
  launcher=`zenity --text-info \
 | 
						|
         --title="$program_name" \
 | 
						|
         --width=1000 \
 | 
						|
         --height=500 \
 | 
						|
         --filename=$file \
 | 
						|
         --editable \
 | 
						|
         --checkbox="$text_desktop_launcher_custom_checkbox"`
 | 
						|
 | 
						|
  case $? in
 | 
						|
      0)
 | 
						|
          zenity --question \
 | 
						|
                 --title="$program_name" \
 | 
						|
                 --text="$text_desktop_launcher_custom_question" \
 | 
						|
                 --width=400 \
 | 
						|
                 --height=100
 | 
						|
          answer=$?
 | 
						|
 | 
						|
          if [ "$answer" -eq 0 ]; then
 | 
						|
              echo "$launcher" > $file
 | 
						|
              rm "$HOME/.local/share/fusion360/launcher.sh"
 | 
						|
              mv $file "$HOME/.local/share/fusion360/launcher.sh"
 | 
						|
          elif [ "$answer" -eq 1 ]; then
 | 
						|
              desktop-launcher-custom
 | 
						|
          fi
 | 
						|
 | 
						|
  	      ;;
 | 
						|
      1)
 | 
						|
          echo "Go back"
 | 
						|
          desktop-launcher-custom
 | 
						|
  	      ;;
 | 
						|
      -1)
 | 
						|
          zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
          exit;
 | 
						|
  	      ;;
 | 
						|
  esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Create & Select a directory for your Autodesk Fusion 360!
 | 
						|
 | 
						|
function select-your-path-fusion360 {
 | 
						|
custom_directory=`zenity --file-selection --directory --title="$text_select_location_custom"`
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Autodesk Fusion 360 has already been installed on your system and you will now be given various options to choose from!
 | 
						|
 | 
						|
function new_modify_deinstall {
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="$text_select" --column="$text_select_option" \
 | 
						|
                    TRUE "$text_select_option_1" \
 | 
						|
                    FALSE "$text_select_option_2" \
 | 
						|
                    FALSE "$text_select_option_3")
 | 
						|
 | 
						|
[[ $response = "$text_select_option_1" ]] && logfile_install=1 && view-exist-fusion360
 | 
						|
 | 
						|
[[ $response = "$text_select_option_2" ]] && edit-exist-fusion360
 | 
						|
 | 
						|
[[ $response = "$text_select_option_3" ]] && deinstall-view-exist-fusion360
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Go back" && configure-locale
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# View the path of your exist Autodesk Fusion 360! -View
 | 
						|
 | 
						|
function view-exist-fusion360 {
 | 
						|
  file=`dirname $0`/data/logfiles/log-path
 | 
						|
  directory=`zenity --text-info \
 | 
						|
         --title="$program_name" \
 | 
						|
         --width=700 \
 | 
						|
         --height=500 \
 | 
						|
         --filename=$file \
 | 
						|
         --checkbox="$text_new_installation_checkbox"`
 | 
						|
 | 
						|
  case $? in
 | 
						|
      0)
 | 
						|
          new_modify-select-opengl_dxvk
 | 
						|
  	      ;;
 | 
						|
      1)
 | 
						|
          echo "Go back"
 | 
						|
          new_modify_deinstall
 | 
						|
  	      ;;
 | 
						|
      -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
          exit;
 | 
						|
  	      ;;
 | 
						|
  esac
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# View the path of your exist Autodesk Fusion 360! - edit-exist-fusion360
 | 
						|
 | 
						|
function edit-exist-fusion360 {
 | 
						|
  file=`dirname $0`/data/logfiles/log-path
 | 
						|
  directory=`zenity --text-info \
 | 
						|
         --title="$program_name" \
 | 
						|
         --width=700 \
 | 
						|
         --height=500 \
 | 
						|
         --filename=$file \
 | 
						|
         --checkbox="$text_edit_installation_checkbox"`
 | 
						|
 | 
						|
  case $? in
 | 
						|
      0)
 | 
						|
          new_modify-select-opengl_dxvk
 | 
						|
  	      ;;
 | 
						|
      1)
 | 
						|
          echo "Go back"
 | 
						|
          new_modify_deinstall
 | 
						|
  	      ;;
 | 
						|
      -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
          exit;
 | 
						|
  	      ;;
 | 
						|
  esac
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Autodesk Fusion 360 will be installed from scratch on this system!
 | 
						|
 | 
						|
function new_modify-select-opengl_dxvk {
 | 
						|
  response=$(zenity --list \
 | 
						|
                    --radiolist \
 | 
						|
                    --title="$program_name" \
 | 
						|
                    --width=700 \
 | 
						|
                    --height=500 \
 | 
						|
                    --column="$text_select" --column="$text_driver" \
 | 
						|
                    TRUE "$text_driver_opengl" \
 | 
						|
                    FALSE "$text_driver_dxvk")
 | 
						|
 | 
						|
[[ $response = "$text_driver_opengl" ]] && driver_used=1 && select-your-path-fusion360 && winetricks-custom
 | 
						|
 | 
						|
[[ $response = "$text_driver_dxvk" ]] && driver_used=2 && select-your-path-fusion360 && winetricks-custom
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Go back" && new_modify_deinstall
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Deinstall a exist Autodesk Fusion 360 installation!
 | 
						|
 | 
						|
function deinstall-view-exist-fusion360 {
 | 
						|
  file=`dirname $0`/data/logfiles/log-path
 | 
						|
  directory=`zenity --text-info \
 | 
						|
         --title="$program_name" \
 | 
						|
         --width=700 \
 | 
						|
         --height=500 \
 | 
						|
         --filename=$file \
 | 
						|
         --editable \
 | 
						|
         --checkbox="$text_deinstall_checkbox"`
 | 
						|
 | 
						|
  case $? in
 | 
						|
      0)
 | 
						|
          zenity --question \
 | 
						|
                 --title="$program_name" \
 | 
						|
                 --text="$text_deinstall_question" \
 | 
						|
                 --width=400 \
 | 
						|
                 --height=100
 | 
						|
          answer=$?
 | 
						|
 | 
						|
          if [ "$answer" -eq 0 ]; then
 | 
						|
              echo "$directory" > $file
 | 
						|
	      cp "$file" $HOME/.local/share/fusion360/logfiles
 | 
						|
              deinstall-exist-fusion360
 | 
						|
          elif [ "$answer" -eq 1 ]; then
 | 
						|
              deinstall-view-exist-fusion360
 | 
						|
          fi
 | 
						|
 | 
						|
  	      ;;
 | 
						|
      1)
 | 
						|
          echo "Go back"
 | 
						|
          new_modify_deinstall
 | 
						|
  	      ;;
 | 
						|
      -1)
 | 
						|
        zenity --error \
 | 
						|
          --text="$text_error"
 | 
						|
          exit;
 | 
						|
  	      ;;
 | 
						|
  esac
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Select your exist Autodesk Fusion 360 for the deinstallation!
 | 
						|
 | 
						|
function deinstall-select-fusion360 {
 | 
						|
  deinstall_directory=`zenity --file-selection --directory --title="$text_select_location_deinstall"`
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# The uninstallation is complete and will be terminated.
 | 
						|
 | 
						|
function program-exit-uninstall {
 | 
						|
  zenity --info \
 | 
						|
  --width=400 \
 | 
						|
  --height=100 \
 | 
						|
  --text="$text_completed_deinstallation"
 | 
						|
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install some extensions with a manager! - Standard
 | 
						|
 | 
						|
function manager-extensions-standard {
 | 
						|
 | 
						|
response=$(zenity --list \
 | 
						|
                  --checklist \
 | 
						|
                  --title="$program_name" \
 | 
						|
                  --width=1000 \
 | 
						|
                  --height=500 \
 | 
						|
                  --column="$text_select" --column="$text_extension" --column="$text_extension_description"\
 | 
						|
                  FALSE "Airfoil Tools" "$text_extension_description_1" \
 | 
						|
                  FALSE "Additive Assistant (FFF)" "$text_extension_description_2" \
 | 
						|
                  FALSE "Czech localization for F360" "$text_extension_description_3" \
 | 
						|
                  FALSE "HP 3D Printers for Autodesk® Fusion 360™" "$text_extension_description_4" \
 | 
						|
                  FALSE "OctoPrint for Autodesk® Fusion 360™" "$text_extension_description_5" \
 | 
						|
                  FALSE "RoboDK" "$text_extension_description_6" )
 | 
						|
 | 
						|
[[ $response = *"Airfoil Tools"* ]] && airfoil-tools-plugin-standard
 | 
						|
 | 
						|
[[ $response = *"Additive Assistant (FFF)"* ]] && additive-assistant-plugin-standard
 | 
						|
 | 
						|
[[ $response = *"Czech localization for F360"* ]] && czech-locale-plugin-standard
 | 
						|
 | 
						|
[[ $response = *"HP 3D Printers for Autodesk® Fusion 360™"* ]] && hp-3dprinter-connector-plugin-standard
 | 
						|
 | 
						|
[[ $response = *"OctoPrint for Autodesk® Fusion 360™"* ]] && octoprint-plugin-standard
 | 
						|
 | 
						|
[[ $response = *"RoboDK"* ]] && robodk-plugin-standard
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Nothing selected!"
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Install some extensions with a manager! - Custom
 | 
						|
 | 
						|
function manager-extensions-custom {
 | 
						|
 | 
						|
response=$(zenity --list \
 | 
						|
                  --checklist \
 | 
						|
                  --title="$program_name" \
 | 
						|
                  --width=1000 \
 | 
						|
                  --height=500 \
 | 
						|
                  --column="$text_select" --column="$text_extension" --column="$text_extension_description"\
 | 
						|
                  FALSE "Airfoil Tools" "$text_extension_description_1" \
 | 
						|
                  FALSE "Additive Assistant (FFF)" "$text_extension_description_2" \
 | 
						|
                  FALSE "Czech localization for F360" "$text_extension_description_3" \
 | 
						|
                  FALSE "HP 3D Printers for Autodesk® Fusion 360™" "$text_extension_description_4" \
 | 
						|
                  FALSE "OctoPrint for Autodesk® Fusion 360™" "$text_extension_description_5" \
 | 
						|
                  FALSE "RoboDK" "$text_extension_description_6" )
 | 
						|
 | 
						|
[[ $response = *"Airfoil Tools"* ]] && airfoil-tools-plugin-custom
 | 
						|
 | 
						|
[[ $response = *"Additive Assistant (FFF)"* ]] && additive-assistant-plugin-custom
 | 
						|
 | 
						|
[[ $response = *"Czech localization for F360"* ]] && czech-locale-plugin-custom
 | 
						|
 | 
						|
[[ $response = *"HP 3D Printers for Autodesk® Fusion 360™"* ]] && hp-3dprinter-connector-plugin-custom
 | 
						|
 | 
						|
[[ $response = *"OctoPrint for Autodesk® Fusion 360™"* ]] && octoprint-plugin-custom
 | 
						|
 | 
						|
[[ $response = *"RoboDK"* ]] && robodk-plugin-custom
 | 
						|
 | 
						|
[[ "$response" ]] || echo "Nothing selected!"
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Select the downloaded installer for this special extension!
 | 
						|
 | 
						|
function czech-locale-search-plugin-standard {
 | 
						|
CZECH_LOCALE=`zenity --file-selection --title="$text_select_czech_plugin"`
 | 
						|
 | 
						|
case $? in
 | 
						|
       0)
 | 
						|
              echo "\"$FILE\" selected.";;
 | 
						|
       1)
 | 
						|
              zenity --info \
 | 
						|
              --text="$text_info_czech_plugin"
 | 
						|
              manager-extensions-standard
 | 
						|
              ;;
 | 
						|
       -1)
 | 
						|
              zenity --error \
 | 
						|
              --text="$text_error"
 | 
						|
              exit;
 | 
						|
              ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
function czech-locale-search-plugin-custom {
 | 
						|
CZECH_LOCALE=`zenity --file-selection --title="$text_select_czech_plugin"`
 | 
						|
 | 
						|
case $? in
 | 
						|
       0)
 | 
						|
              echo "\"$FILE\" selected.";;
 | 
						|
       1)
 | 
						|
              zenity --info \
 | 
						|
              --text="$text_info_czech_plugin"
 | 
						|
              manager-extensions-custom
 | 
						|
              ;;
 | 
						|
       -1)
 | 
						|
              zenity --error \
 | 
						|
              --text="$text_error"
 | 
						|
              exit;
 | 
						|
              ;;
 | 
						|
esac
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Abort the installation of Autodesk Fusion 360!
 | 
						|
 | 
						|
function abort-installation {
 | 
						|
  zenity --question \
 | 
						|
         --title="$program_name" \
 | 
						|
         --text="$text_abort" \
 | 
						|
         --width=400 \
 | 
						|
         --height=100
 | 
						|
  answer=$?
 | 
						|
 | 
						|
  if [ "$answer" -eq 0 ]; then
 | 
						|
      exit;
 | 
						|
  elif [ "$answer" -eq 1 ]; then
 | 
						|
      select-your-path
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# The installation is complete and will be terminated.
 | 
						|
 | 
						|
function program-exit {
 | 
						|
  zenity --info \
 | 
						|
  --width=400 \
 | 
						|
  --height=100 \
 | 
						|
  --text="$text_completed_installation"
 | 
						|
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# The uninstallation is complete and will be terminated.
 | 
						|
 | 
						|
function program-exit-uninstall {
 | 
						|
  zenity --info \
 | 
						|
  --width=400 \
 | 
						|
  --height=100 \
 | 
						|
  --text="$text_completed_deinstallation"
 | 
						|
 | 
						|
  exit;
 | 
						|
}
 | 
						|
 | 
						|
###############################################################################################################################################################
 | 
						|
# THE INSTALLATION PROGRAM IS STARTED HERE:                                                                                                                   #
 | 
						|
###############################################################################################################################################################
 | 
						|
 | 
						|
# Reset the driver-value for the installation of Autodesk Fusion 360!
 | 
						|
driver_used=0
 | 
						|
 | 
						|
# Reset the logfile-value for the installation of Autodesk Fusion 360!
 | 
						|
logfile_install=0
 | 
						|
 | 
						|
# Name of this program (Window Title)
 | 
						|
program_name="Autodesk Fusion 360 for Linux - Setup Wizard"
 | 
						|
 | 
						|
logfile-installation
 | 
						|
progress-indicator-dialog
 |