#!/bin/bash SCRIPT_VERSION="v11" question_answered_with_yes() { local prompt="$1" local ans printf '%b\n Geben Sie j oder n ein und die Eingabetaste,\n Abbruch mit jeder anderen Taste ... [j/N]: ' "$prompt" read -r ans case "$ans" in j | J | ja | y | Y) return 0 ;; n | N | "") return 1 ;; *) echo "Abbruch." exit 1 ;; esac } echo " ##################################### #### Nachinstallationsarbeiten #### Version: $SCRIPT_VERSION ##################################### #### Was tut dieses Skript? #### # Vorausgesetzt wird eine Installation von Linux Mint (XFCE oder Cinnamon). # Das Skript bietet -teilweise interaktiv- die Installation von zusätzlichen Programmen an, die Linux Mint nicht standardmässig mitbringt. # Zu Beginn werden die folgenden zusätzlichen Programme in einem Schritt installiert: # # clementine (Audioplayer und Musikbibliothekverwaltung) # vlc (weltbester Mediaplayer ;-)) # htop (Systemmonitortool) # hardinfo (Übersicht der Systemeigenschaften) # font-manager (Schriftarten verwalten) # asunder (Audio-CDs in z.B. mp3-Dateien verwandeln (rippen)) # gtkhash (Prüfsummen von Dateien erstellen und überprüfen) # Danach geht es interaktiv weiter. " # sudo apt-get update echo "#### 64 bit Mint - Es werden notwendige Programme für das Ausführen des Skripts installiert ####" sudo apt -y install unzip echo "#### 64 bit Mint - Es werden weitere hilfreiche Programme installiert ####" sudo apt -y install clementine vlc htop hardinfo font-manager asunder gtkhash sSuffixDate=$(date '+%Y-%m-%d_%H:%M:%S') detect_desktop() { if [ -n "$XDG_CURRENT_DESKTOP" ]; then case "$XDG_CURRENT_DESKTOP" in XFCE | Xfce | xfce) echo "xfce" ;; X-Cinnamon | Cinnamon | cinnamon) echo "cinnamon" ;; esac elif [ -n "$DESKTOP_SESSION" ]; then case "$DESKTOP_SESSION" in *xfce* | *XFCE*) echo "xfce" ;; *cinnamon* | *Cinnamon*) echo "cinnamon" ;; esac fi } echo echo echo "### Desktop-Umgebung erkennen ###" DETECTED_DESKTOP=$(detect_desktop) SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" if [ -z "$DETECTED_DESKTOP" ]; then echo echo echo "Desktop-Umgebung konnte nicht erkannt werden." echo "Bitte manuell auswählen:" echo "1) XFCE" echo "2) Cinnamon" echo -n "Auswahl: " read -r desktop_choice case "$desktop_choice" in 1) DESKTOP="xfce" ;; 2) DESKTOP="cinnamon" ;; *) echo "Ungültige Auswahl. Skript wird beendet." exit 1 ;; esac else echo echo echo "Erkannte Desktop-Umgebung: $DETECTED_DESKTOP" if question_answered_with_yes "Verwende erkannte Desktop-Umgebung?"; then DESKTOP="$DETECTED_DESKTOP" else echo echo echo "Bitte manuell auswählen:" echo "1) XFCE" echo "2) Cinnamon" echo -n "Auswahl: " read -r desktop_choice case "$desktop_choice" in 1) DESKTOP="xfce" ;; 2) DESKTOP="cinnamon" ;; *) echo "Ungültige Auswahl. Skript wird beendet." exit 1 ;; esac fi fi case "$DESKTOP" in xfce) source "$SCRIPT_DIR/xfce/xfce.sh" ;; cinnamon) source "$SCRIPT_DIR/cinnamon/cinnamon.sh" ;; esac echo "" echo "" echo echo echo "#### nur auf Wunsch / bei Bedarf ####" echo ### Sensoren ### if question_answered_with_yes " ### Installiere Sensoren? ###"; then echo "### Sensoren ###" sudo apt install lm-sensors psensor sudo sensors-detect sudo service kmod start if [ "$DESKTOP" = "xfce" ]; then echo "## im Anschluss \"psensor\" konfigurieren im XFCE-Applet in der Taskleiste" fi fi echo echo echo "### Kauf-DVDs abspielen ###" if question_answered_with_yes " ### Installiere Paket um Film DVDs abspielen zu können? ###"; then echo "### Kauf-DVDs abspielen ###" sudo apt install libdvd-pkg sudo dpkg-reconfigure libdvd-pkg fi echo echo echo "### Schriften, falls Microsoft-Office-Dokumente weiterverwendet werden sollen oder Dokumentenaustausch mit Microsoft-Nutzern gewünscht ist ### ## frei verfügbare, alte Microsoft-Standardschriften installieren:" if question_answered_with_yes " ### Installiere M$ Schriften? ###"; then echo "### M$ Schriften ###" sudo apt install ttf-mscorefonts-installer fi echo echo echo " ## Microsoft Aptos Schriftarten installieren:" if question_answered_with_yes " ### Installiere Aptos Schriften? ###"; then echo echo "### Aptos Schriften ###" _aptos_zip="/tmp/Microsoft Aptos Fonts.zip" _aptos_url="https://download.microsoft.com/download/8/6/0/860a94fa-7feb-44ef-ac79-c072d9113d69/Microsoft%20Aptos%20Fonts.zip" echo "Lade Aptos Schriften herunter..." wget "$_aptos_url" -O "$_aptos_zip" echo "Entpacke das Archiv..." unzip -o "$_aptos_zip" -d /tmp/aptos_fonts echo "Erstelle /usr/share/fonts/truetype/aptos/" sudo mkdir -p /usr/share/fonts/truetype/aptos echo "Installiere alle .ttf Schriften..." find /tmp/aptos_fonts -name "*.ttf" -exec sudo install -m644 {} /usr/share/fonts/truetype/aptos/ \; 2>/dev/null || true echo "Aktualisiere den Font-Cache" fc-cache -f echo "Fertig! Aptos Schriftarten sind installiert." echo "Entferne temporäre Dateien..." rm -rf "$_aptos_zip" /tmp/aptos_fonts fi echo echo echo " ## freie Google-Schriften" if question_answered_with_yes " ### Installiere Google Schriften? ###"; then echo echo "### Google Schriften ###" _google_fonts_dir="/usr/share/fonts/truetype/google-fonts" _google_fonts_url_base="https://gwfh.mranftl.com/api/fonts" _google_fonts="arimo carlito caladea inconsolata cousine libre-franklin neuton cabin oswald crimson-text lustria tinos league-spartan pt-sans" sudo mkdir -p "$_google_fonts_dir" for _font in $_google_fonts; do echo "Lade $_font herunter..." curl -s -o /tmp/"$_font".zip "${_google_fonts_url_base}/$_font?download=zip&subsets=latin,latin-ext&variants=regular,700" if [ -s /tmp/"$_font".zip ] && head -c 2 /tmp/"$_font".zip | grep -q "PK"; then unzip -o /tmp/"$_font".zip -d /tmp/"$_font"_fonts sudo cp /tmp/"$_font"_fonts/fonts/"$_font"/* "$_google_fonts_dir/" 2>/dev/null || sudo cp /tmp/"$_font"_fonts/* "$_google_fonts_dir/" 2>/dev/null || true rm -rf /tmp/"$_font".zip /tmp/"$_font"_fonts else echo "Fehler: Download von $_font fehlgeschlagen, überspringe..." rm -f /tmp/"$_font".zip fi done echo "Aktualisiere den Font-Cache" fc-cache -f echo "Fertig! Google Schriftarten sind installiert." echo "Die Anpassung der Standardschriften und/oder das Erstellen der Ersetzungstabelle in Libre Office muss manuell erfolgen, falls gewünscht." fi echo echo echo "#### Chromium Browser installieren:" if question_answered_with_yes " ### Installiere Chromium? ###"; then echo "### Chromium ###" sudo apt install chromium fi echo echo echo "#### Vivaldi Browser installieren:" if question_answered_with_yes " ### Installiere Vivaldi? ###"; then echo "### ###" echo "## nötige Zusatzpakete installieren" sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl -y # echo "## ## key importieren" curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor | sudo tee /usr/share/keyrings/vivaldi.gpg >/dev/null # echo "## ## Repository hinzufügen" echo deb [arch=amd64,armhf signed-by=/usr/share/keyrings/vivaldi.gpg] https://repo.vivaldi.com/stable/deb/ stable main | sudo tee /etc/apt/sources.list.d/vivaldi.list # sudo apt update && sudo apt install vivaldi-stable # echo "## ## Gnome-Schlüsselbund-Fehlermeldung bei jedem Start von Chrome/Chromium beheben: Starter bzw. .desktop-Datei mit folgendem Parameter ergänzen: " echo "## ## --password-store=basic" # fi echo echo echo "####Signal für Desktop (die Nutzung setzt eine Signal-Installation auf einem Android- Oder Apple-Gerät voraus!)#### " if question_answered_with_yes " ### Installiere Signal? ###"; then echo "### ###" echo "## zusätzliches Repository nötig! ## NOTE: These instructions only work for 64-bit Debian-based ## Linux distributions such as Ubuntu, Mint etc. ## key importieren " wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor >/tmp/signal-desktop-keyring.gpg cat /tmp/signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg >/dev/null # echo "## Repository hinzufügen:" echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | sudo tee /etc/apt/sources.list.d/signal-xenial.list sudo apt update && sudo apt install signal-desktop # fi echo echo "###############################" echo "######### Skript ENDE #########" echo "###############################" echo echo echo echo "Verbleibende manuelle Schritte:" if [ "$DESKTOP" = "xfce" ]; then echo "### Taskleiste ###: XFCE-Applets für 2x Netzwerkmonitor (LAN + WLAN) konfigurieren" echo "Wenn ### Sensoren ### installiert wurden: psensor konfigurieren im XFCE-Applet in der Taskleiste, falls gewünscht." fi echo "Wenn ### Google-Schriften ### installiert wurden: Anpassung der Standardschriften und/oder das Erstellen der Ersetzungstabelle in Libre Office, falls gewünscht." echo echo read -p ' ### Um dieses Fenster zu schliessen, Enter drücken ### ' exit 0