photoshop-linux/install.sh
2024-10-10 03:13:50 +02:00

124 lines
5.6 KiB
Bash
Executable File

#!/bin/bash
# Adapted script from LinSoftWin/Photoshop-CC2022-Linux
export WINEPREFIX="$HOME/Photoshop"
export XDG_DATA_HOME="$HOME/.local/share"
LOG_NORMAL="\e[1;97m"
LOG_ERROR="\e[1;31m"
LOG_SUCCESS="\e[1;32m"
LOG_RESET="\e[0m"
TEMP_DIR="$(mktemp -d)"
ICON_URL="https://cdn3d.iconscout.com/3d/premium/thumb/adobe-photoshop-file-3d-icon-download-in-png-blend-fbx-gltf-formats--logo-format-graphic-design-pack-development-icons-9831950.png?f=webp"
if [[ -d "$WINEPREFIX" ]]; then
echo -e "${LOG_NORMAL}Photoshop path (\$HOME/Photoshop) already exists${LOG_RESET}"
exit 1
fi
check_dependencies() {
local dependencies=("curl" "wine" "winetricks" "imagemagick")
local missed_packages=()
for i in "${dependencies[@]}"; do
if ! command -v "$i" > /dev/null; then
missed_packages+=("$i")
fi
done
if [ ${#missed_packages[@]} -eq 0 ]; then
echo -e "${LOG_GREEN}All dependencies are installed.${LOG_RESET}"
else
echo -e "${LOG_ERROR}Missing dependencies:${LOG_NORMAL} ${missed_packages[@]}${LOG_RESET}"
exit 1
fi
}
mkdir $WINEPREFIX
echo -e "${LOG_NORMAL}[LOG] Folder $WINEPREFIX created${LOG_RESET}"
# In case if you executed this script before
if [[ -f "./AdobePhotoshop2021.tar.xz" ]]; then
echo -e "${LOG_NORMAL}[LOG] AdobePhotoshop2021.tar.xz already exists. Skipping download${LOG_RESET}"
else
echo -e "${LOG_NORMAL}[LOG] Downloading Photoshop (1.1GB)${LOG_RESET}"
curl -s "https://spyderrock.com/kMnq2220-AdobePhotoshop2021.xz" -o AdobePhotoshop2021.tar.xz
fi
echo -e "${LOG_NORMAL}[LOG] Initializing wine and setting up winetricks.. It may take some time${LOG_RESET}"
wineboot &> /dev/null
winetricks fontsmooth=rgb win10 gdiplus msxml3 msxml6 atmlib corefonts dxvk win10 vkd3d d3d12 vkd3d &> /dev/null
echo -e "${LOG_NORMAL}[LOG] Downloading Visual C++ runtime...${LOG_RESET}"
# 2015-2022 x64
curl -s "https://aka.ms/vs/17/release/vc_redist.x64.exe" -o "${TEMP_DIR}/vc_redist_2015_2022_x64.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2015_2022_x64.exe${LOG_RESET}"
# 2015-2022 x86
curl -s "https://aka.ms/vs/17/release/vc_redist.x86.exe" -o "${TEMP_DIR}/vc_redist_2015_2022_x86.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2015_2022_x86.exe${LOG_RESET}"
# 2013 x64
curl -sL "https://aka.ms/highdpimfc2013x64enu" -o "${TEMP_DIR}/vc_redist_2013_x64.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2013_x64.exe${LOG_RESET}"
# 2013 x86
curl -sL "https://aka.ms/highdpimfc2013x86enu" -o "${TEMP_DIR}/vc_redist_2013_x86.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2013_x86.exe${LOG_RESET}"
# 2012 x64
curl -s "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe" -o "${TEMP_DIR}/vc_redist_2012_x64.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2012_x64.exe${LOG_RESET}"
# 2012 x86
curl -s "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe" -o "${TEMP_DIR}/vc_redist_2012_x86.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2012_x86.exe${LOG_RESET}"
# 2010 x64
curl -s "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe" -o "${TEMP_DIR}/vc_redist_2010_x64.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2010_x64.exe${LOG_RESET}"
# 2010 x86
curl -s "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe" -o "${TEMP_DIR}/vc_redist_2010_x86.exe"
echo -e " ${LOG_SUCCESS}Downloaded vc_redist_2010_x86.exe${LOG_RESET}"
echo -e "${LOG_NORMAL}[LOG] Installing Visual C++...${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2015_2022_x64.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2015_2022_x64.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2015_2022_x86.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2015_2022_x86.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2013_x64.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2013_x64.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2013_x86.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2013_x86.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2012_x64.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2012_x64.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2012_x86.exe" /install /quiet /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2012_x86.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2010_x64.exe" /q /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2010_x64.exe${LOG_RESET}"
wine "${TEMP_DIR}/vc_redist_2010_x86.exe" /q /norestart &> /dev/null
echo -e " ${LOG_SUCCESS}Insalled vc_redist_2010_x86.exe${LOG_RESET}"
winecfg -v win10 &> /dev/null
echo -e "${LOG_NORMAL}[LOG] Extracting Photoshop${LOG_RESET}"
tar -xf AdobePhotoshop2021.tar.xz
echo -e "${LOG_NORMAL}[LOG] Installing Photoshop${LOG_RESET}"
mv "./Adobe Photoshop 2021" "$WINEPREFIX/drive_c/Program Files/Adobe Photoshop 2021"
# Copy launcher to the wine prefix
echo -e "${LOG_NORMAL}[LOG] Finishing${LOG_RESET}"
cp ./launcher.sh "$WINEPREFIX/drive_c"
# Download & copy icon for .desktop entry
[[ ! -d "$XDG_DATA_HOME/icons" ]] && mkdir "$XDG_DATA_HOME/icons"
curl -s "$ICON_URL" -o ${TEMP_DIR}/icon.webp
[[ -f "$XDG_DATA_HOME/icons/photoshop.png" ]] && rm "$XDG_DATA_HOME/icons/photoshop.png"
magick "${TEMP_DIR}/icon.webp" "${XDG_DATA_HOME}/icons/photoshop.png"
# Generate .desktop entry for Photoshop
./generate_desktop_entry.sh
echo -e "${LOG_NORMAL}[LOG] Cleaning up...${LOG_RESET}"
rm ./AdobePhotoshop2021.tar.xz
rm -rf "$TEMP_DIR"
echo -e "${LOG_SUCCESS}Photoshop was successfully installed!${LOG_RESET}"