2024-09-20 15:14:56 +01:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
|
|
|
. ../common-script.sh
|
|
|
|
|
|
|
|
install_onlyoffice() {
|
|
|
|
if ! command_exists onlyoffice-desktopeditors; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing Only Office..${RC}."
|
2024-09-20 15:14:56 +01:00
|
|
|
case "$PACKAGER" in
|
|
|
|
apt-get|nala)
|
|
|
|
curl -O https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb
|
2024-09-22 18:34:52 +01:00
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y ./onlyoffice-desktopeditors_amd64.deb
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
|
|
|
zypper|dnf)
|
|
|
|
. ./setup-flatpak.sh
|
|
|
|
flatpak install -y flathub org.onlyoffice.desktopeditors
|
|
|
|
;;
|
|
|
|
pacman)
|
2024-09-21 15:19:41 +01:00
|
|
|
"$AUR_HELPER" -S --needed --noconfirm onlyoffice
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
|
|
|
*)
|
2024-09-22 17:01:10 +01:00
|
|
|
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
|
|
|
exit 1
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}Only Office is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
install_libreoffice() {
|
|
|
|
if ! command_exists libreoffice; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing Libre Office...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
case "$PACKAGER" in
|
2024-09-22 17:01:10 +01:00
|
|
|
apt-get|nala)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y libreoffice-core
|
|
|
|
;;
|
|
|
|
zypper|dnf)
|
|
|
|
. ./setup-flatpak.sh
|
|
|
|
flatpak install -y flathub org.libreoffice.LibreOffice
|
|
|
|
;;
|
|
|
|
pacman)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm libreoffice-fresh
|
|
|
|
;;
|
2024-09-20 15:14:56 +01:00
|
|
|
*)
|
2024-09-22 17:01:10 +01:00
|
|
|
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
|
|
|
exit 1
|
|
|
|
;;
|
2024-09-20 15:14:56 +01:00
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}Libre Office is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
install_wpsoffice() {
|
|
|
|
if ! command_exists com.wps.Office; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing WPS Office...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
case "$PACKAGER" in
|
|
|
|
pacman)
|
|
|
|
"$AUR_HELPER" -S --noconfirm wps-office
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
. ./setup-flatpak.sh
|
|
|
|
flatpak install flathub com.wps.Office
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}WPS Office is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# needs to be updated every year for latest version
|
|
|
|
install_freeoffice() {
|
2024-09-22 18:59:39 +01:00
|
|
|
if ! command_exists softmaker-freeoffice-2024 freeoffice softmaker; then
|
|
|
|
printf "%b\n" "${YELLOW}Installing Free Office...${RC}"
|
|
|
|
case "$PACKAGER" in
|
2024-09-20 15:14:56 +01:00
|
|
|
apt-get|nala)
|
|
|
|
curl -O https://www.softmaker.net/down/softmaker-freeoffice-2024_1218-01_amd64.deb
|
2024-09-22 18:34:52 +01:00
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y ./softmaker-freeoffice-2024_1218-01_amd64.deb
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
|
|
|
zypper)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" addrepo -f https://shop.softmaker.com/repo/rpm SoftMaker
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" --gpg-auto-import-keys ref
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install softmaker-freeoffice-2024
|
|
|
|
;;
|
|
|
|
pacman)
|
|
|
|
"$AUR_HELPER" -S --noconfirm freeoffice
|
|
|
|
;;
|
|
|
|
dnf)
|
|
|
|
"$ESCALATION_TOOL" curl -O -qO /etc/yum.repos.d/softmaker.repo https://shop.softmaker.com/repo/softmaker.repo
|
2024-09-21 15:19:41 +01:00
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y softmaker-freeoffice-2024
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
|
|
|
*)
|
2024-09-22 17:01:10 +01:00
|
|
|
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
|
|
|
exit 1
|
2024-09-20 15:14:56 +01:00
|
|
|
;;
|
2024-09-22 18:59:39 +01:00
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}Free Office is already installed.${RC}"
|
|
|
|
fi
|
2024-09-20 15:14:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
install_evince() {
|
|
|
|
if ! command_exists evince; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing Evince...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
case "$PACKAGER" in
|
|
|
|
pacman)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm evince
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y evince
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}Evince is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
install_okular() {
|
|
|
|
if ! command_exists okular; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing Okular...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
case "$PACKAGER" in
|
|
|
|
pacman)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm okular
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
"$ESCALATION_TOOL" "$PACKAGER" install -y okular
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}Okular is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
install_pdfstudioviewer() {
|
|
|
|
if ! command_exists pdfstudioviewer2024/pdfstudioviewer2024; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing PDF Studio Viewer...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
curl -O https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.sh
|
|
|
|
"$ESCALATION_TOOL" chmod +x PDFStudioViewer_linux64.sh
|
|
|
|
if sh PDFStudioViewer_linux64.sh; then
|
|
|
|
printf "%b\n" "${GREEN}PDF Studio Viewer installed successfully!${RC}"
|
|
|
|
else
|
|
|
|
printf "%b\n" "${RED}Installation failed!${RC}"
|
|
|
|
fi
|
|
|
|
rm PDFStudioViewer_linux64.sh
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}PDF Studio Viewer is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
install_pdfstudio() {
|
|
|
|
if ! command_exists pdfstudio2024/pdfstudio2024; then
|
2024-09-22 18:59:39 +01:00
|
|
|
printf "%b\n" "${YELLOW}Installing PDF Studio...${RC}"
|
2024-09-20 15:14:56 +01:00
|
|
|
curl -O https://download.qoppa.com/pdfstudio/PDFStudio_linux64.sh
|
|
|
|
"$ESCALATION_TOOL" chmod +x PDFStudio_linux64.sh
|
|
|
|
if sh PDFStudio_linux64.sh; then
|
|
|
|
printf "%b\n" "${GREEN}PDF Studio installed successfully!${RC}"
|
|
|
|
else
|
|
|
|
printf "%b\n" "${RED}PDF Studio installation failed!${RC}"
|
|
|
|
fi
|
|
|
|
rm PDFStudio_linux64.sh
|
|
|
|
else
|
|
|
|
printf "%b\n" "${GREEN}PDF Studio is already installed.${RC}"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
officeSuiteSetup() {
|
|
|
|
clear
|
|
|
|
printf "%b\n" "Office Suite Setup Script"
|
|
|
|
printf "%b\n" "----------------------------"
|
|
|
|
printf "%b\n" "Select the suite you want to install:"
|
|
|
|
printf "%b\n" "1. OnlyOffice"
|
|
|
|
printf "%b\n" "2. LibreOffice"
|
|
|
|
printf "%b\n" "3. WPS Office"
|
|
|
|
printf "%b\n" "4. Free Office"
|
|
|
|
printf "%b\n" "Select the PDF Suite you want to install:"
|
|
|
|
printf "%b\n" "----------------------------"
|
|
|
|
printf "%b\n" "5. Evince"
|
|
|
|
printf "%b\n" "6. Okular"
|
|
|
|
printf "%b\n" "7. PDF Studio Viewer"
|
|
|
|
printf "%b\n" "8. PDF Studio (Paid Software)"
|
|
|
|
printf "%b\n" "----------------------------"
|
2024-09-22 17:01:10 +01:00
|
|
|
printf "%b" "Enter your choices (e.g., 1 3 5): "
|
2024-09-20 15:14:56 +01:00
|
|
|
read -r choice
|
|
|
|
for ch in $choice; do
|
|
|
|
case $ch in
|
|
|
|
1) install_onlyoffice ;;
|
|
|
|
2) install_libreoffice ;;
|
|
|
|
3) install_wpsoffice ;;
|
|
|
|
4) install_freeoffice ;;
|
|
|
|
5) install_evince ;;
|
|
|
|
6) install_okular ;;
|
|
|
|
7) install_pdfstudioviewer ;;
|
|
|
|
8) install_pdfstudio ;;
|
|
|
|
*) printf "%b\n" "${RED}Invalid option: $ch ${RC}" ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
printf "%b\n" "${GREEN}Installation complete!${RC}"
|
|
|
|
}
|
|
|
|
|
|
|
|
checkEnv
|
|
|
|
checkEscalationTool
|
|
|
|
checkAURHelper
|
|
|
|
officeSuiteSetup
|