mirror of
https://codeberg.org/knightsub9/lxcafe.git
synced 2026-07-19 19:30:16 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9e1e7e9f3 | ||
|
|
cf5de8f44e | ||
|
|
ab7d3e16ca | ||
|
|
bced79fd70 | ||
|
|
efbbedf5ae | ||
|
|
affa7119ee | ||
|
|
3a6537c7c0 |
+11
-15
@@ -37,7 +37,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION_FILE="VERSION"
|
VERSION_FILE="VERSION"
|
||||||
SCRIPT_FILE="post_installation_script/Nachinstallationsarbeiten_LC_Esslingen_XFCE.sh"
|
SCRIPT_FILE="post_installation_script/Nachinstallationsarbeiten_LC_Esslingen.sh"
|
||||||
|
|
||||||
if [ ! -f "$VERSION_FILE" ]; then
|
if [ ! -f "$VERSION_FILE" ]; then
|
||||||
echo "Error: $VERSION_FILE not found"
|
echo "Error: $VERSION_FILE not found"
|
||||||
@@ -107,22 +107,18 @@ if question_answered_with_yes "Push release branch to origin?"; then
|
|||||||
git push -u origin "$RELEASE_BRANCH"
|
git push -u origin "$RELEASE_BRANCH"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Branch pushed to origin."
|
echo "Branch pushed to origin."
|
||||||
echo ""
|
|
||||||
echo "Next steps:"
|
|
||||||
echo "1. Create a PR from $RELEASE_BRANCH to main"
|
|
||||||
echo " - Via web: Go to your git hosting and create a PR"
|
|
||||||
echo " - Or: gh pr create --base main --head $RELEASE_BRANCH"
|
|
||||||
echo ""
|
|
||||||
echo "2. After PR is merged, create a tag:"
|
|
||||||
echo " git checkout main && git pull"
|
|
||||||
echo " git tag -a $NEXT_VERSION_STR -m \"Release $NEXT_VERSION_STR\""
|
|
||||||
echo " git push origin $NEXT_VERSION_STR"
|
|
||||||
echo ""
|
|
||||||
echo "3. Gitea will create a release from the tag"
|
|
||||||
else
|
else
|
||||||
echo ""
|
echo ""
|
||||||
echo "Release prepared locally. Push manually with:"
|
echo "Release prepared locally. Push manually with:"
|
||||||
echo " git push -u origin $RELEASE_BRANCH"
|
echo " git push -u origin $RELEASE_BRANCH"
|
||||||
echo ""
|
|
||||||
echo "Then create a PR to main via your git hosting."
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Next steps:"
|
||||||
|
echo "1. Create a PR from $RELEASE_BRANCH to main in Gitea via web UI"
|
||||||
|
echo " - Via web: Go to your git hosting and create a PR"
|
||||||
|
echo " - Or: gh pr create --base main --head $RELEASE_BRANCH"
|
||||||
|
echo ""
|
||||||
|
echo "2. Execute script '02_finalise_release.sh' to create a tag in repo"
|
||||||
|
echo ""
|
||||||
|
echo "3. Create a release from the new tag in Gitea via web UI"
|
||||||
|
|||||||
@@ -24,6 +24,25 @@ CURRENT_VERSION=$(cat "$VERSION_FILE" | tr -d '\n')
|
|||||||
|
|
||||||
echo "Finalising release of version: $CURRENT_VERSION"
|
echo "Finalising release of version: $CURRENT_VERSION"
|
||||||
|
|
||||||
|
RELEASE_BRANCH="release/$CURRENT_VERSION"
|
||||||
|
|
||||||
|
_local_exists=false
|
||||||
|
if git rev-parse "$RELEASE_BRANCH" >/dev/null 2>&1; then
|
||||||
|
_local_exists=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
_remote_exists=false
|
||||||
|
if git ls-remote --heads origin "$RELEASE_BRANCH" 2>/dev/null | grep -q .; then
|
||||||
|
_remote_exists=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$_local_exists" = "true" ] || [ "$_remote_exists" = "true" ]; then
|
||||||
|
if question_answered_with_yes "Delete release branch $RELEASE_BRANCH (local and remote)?"; then
|
||||||
|
[ "$_local_exists" = "true" ] && git branch -D "$RELEASE_BRANCH"
|
||||||
|
[ "$_remote_exists" = "true" ] && git push origin --delete "$RELEASE_BRANCH"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if ! question_answered_with_yes "Create tag $CURRENT_VERSION on main?"; then
|
if ! question_answered_with_yes "Create tag $CURRENT_VERSION on main?"; then
|
||||||
echo "Tag creation aborted."
|
echo "Tag creation aborted."
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Linux-Café Esslingen
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -18,6 +18,10 @@ You can also make use of snapshot feature of the virtualization software to easi
|
|||||||
e.g. state directly after Linux Mint installation, before running the post-installation script.
|
e.g. state directly after Linux Mint installation, before running the post-installation script.
|
||||||
This way you can test the script multiple times without needing to reinstall Linux Mint each time.
|
This way you can test the script multiple times without needing to reinstall Linux Mint each time.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
## Release Process
|
## Release Process
|
||||||
|
|
||||||
This project uses a two-step release process.
|
This project uses a two-step release process.
|
||||||
|
|||||||
@@ -0,0 +1,288 @@
|
|||||||
|
#!/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
|
||||||
@@ -1,259 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SCRIPT_VERSION="v10"
|
|
||||||
|
|
||||||
bIsVlcInstalled=false
|
|
||||||
|
|
||||||
# Prompt helper: ask a question and return 0 (yes) for j/J/ja/y/Y, non-zero otherwise
|
|
||||||
question_answered_with_yes() {
|
|
||||||
local prompt="$1"
|
|
||||||
local ans
|
|
||||||
# Use %b to interpret backslash escape sequences (\n, \t, etc.)
|
|
||||||
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.
|
|
||||||
# Das Skript bietet -teilweise interaktiv- die Installation von zusätzlichen Programmen an, die Linux Mint XFCE nicht standardmässig mitbringt.
|
|
||||||
#
|
|
||||||
# Folgende Dateien werden aus dem Skript referenziert und werden im selben Verzeichnis wie dieses Skript erwartet
|
|
||||||
## - xfce4-panel-profiles.tar.bz2
|
|
||||||
#
|
|
||||||
# Zu Beginn werden die folgenden zusätzlichen Programme in einem Schritt installiert:
|
|
||||||
#
|
|
||||||
# xfce4-goodies (zusätzliche Elemente für die Taskleiste)
|
|
||||||
# xfce4-panel-profiles (Tool für die Taskleistenbearbeitung)
|
|
||||||
# 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
|
|
||||||
# needed by script to unzip Aptos font
|
|
||||||
sudo apt install unzip -y
|
|
||||||
|
|
||||||
sSuffixDate=$(date '+%Y-%m-%d_%H:%M:%S')
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
|
||||||
if question_answered_with_yes "#### Installiere Zusatzprogramme für 64 bit Mint XFCE? ####"; then
|
|
||||||
echo "#### 64 bit Mint XFCE ####"
|
|
||||||
sudo apt -y install xfce4-goodies clementine vlc htop hardinfo font-manager asunder gtkhash
|
|
||||||
bIsVlcInstalled=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
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
|
|
||||||
echo "## im Anschluss \"psensor\" konfigurieren im XFCE-Applet in der Taskleiste"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
if [ "$bIsVlcInstalled" = true ]; then
|
|
||||||
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
|
|
||||||
else
|
|
||||||
echo "Player Fehlt
|
|
||||||
## VLC muss installiert sein um Kauf-DVDs abspielen zu können"
|
|
||||||
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-browser
|
|
||||||
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 > signal-desktop-keyring.gpg
|
|
||||||
cat 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 "### Anpassung der Panel-Konfiguration / Taskleiste #### "
|
|
||||||
echo "### SystemMonitor, ArbeitsflächenAnzeige #### "
|
|
||||||
echo
|
|
||||||
echo "Achtung! Es kann vorkommen, dass die Taskleiste nach diesem Schritt verschwunden ist."
|
|
||||||
echo "Ein Abmelden und Wiederanmelden des Benutzers oder ein Reboot behebt das Problem."
|
|
||||||
echo
|
|
||||||
if question_answered_with_yes " ### Änderungen am Panel durchführen? ###"; then
|
|
||||||
echo "### ###"
|
|
||||||
sudo apt install xfce4-panel-profiles -y
|
|
||||||
echo "## Austausch der Panel-Konfigurationsdatei:"
|
|
||||||
xfce4-panel-profiles load xfce4-panel-profiles.tar.bz2
|
|
||||||
fi
|
|
||||||
echo
|
|
||||||
echo "###############################"
|
|
||||||
echo "######### Skript ENDE #########"
|
|
||||||
echo "###############################"
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "Verbleibende manuelle Schritte:"
|
|
||||||
echo
|
|
||||||
echo "### Taskleiste ###: XFCE-Applets für 2x Netzwerkmonitor (LAN + WLAN) konfigurieren"
|
|
||||||
echo
|
|
||||||
echo "Wenn ### Sensoren ### installiert wurden: psensor konfigurieren im XFCE-Applet in der Taskleiste, falls gewünscht."
|
|
||||||
echo
|
|
||||||
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
|
|
||||||
@@ -1,13 +1,27 @@
|
|||||||
# Post-Installation Script
|
# Post-Installation Script
|
||||||
|
|
||||||
This directory contains files belonging to the Linux Mint XFCE post-installation script.
|
This directory contains files belonging to the Linux Mint post-installation scripts.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
post_installation_script/
|
||||||
|
├── Nachinstallationsarbeiten_LC_Esslingen.sh # Main script (asks for desktop)
|
||||||
|
├── xfce/
|
||||||
|
│ ├── xfce.sh # XFCE-specific configurations
|
||||||
|
│ └── xfce4-panel-profiles.tar.bz2 # XFCE panel backup
|
||||||
|
├── cinnamon/
|
||||||
|
│ └── cinnamon.sh # Cinnamon (reserved for future)
|
||||||
|
├── 01_prepare_release.sh
|
||||||
|
└── 02_finalise_release.sh
|
||||||
|
```
|
||||||
|
|
||||||
## Prerequisites to run the script
|
## Prerequisites to run the script
|
||||||
- Linux Mint XFCE installed and running
|
- Linux Mint (XFCE or Cinnamon) installed and running
|
||||||
- Internet connection for downloading packages and updates
|
- Internet connection for downloading packages and fonts
|
||||||
- Script file: `Nachinstallationsarbeiten_LC_Esslingen_XFCE.sh` copied to Desktop
|
- Required tools: `curl`, `unzip`, `wget`, `fc-cache` (most are pre-installed)
|
||||||
|
|
||||||
No external files need to be pre-downloaded.
|
No external files need to be pre-downloaded.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -15,9 +29,11 @@ Run the main script:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd post_installation_script
|
cd post_installation_script
|
||||||
bash Nachinstallationsarbeiten_LC_Esslingen_XFCE.sh
|
bash Nachinstallationsarbeiten_LC_Esslingen.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The script will ask you to select your desktop environment (XFCE or Cinnamon), then proceed with the installation.
|
||||||
|
|
||||||
The script is interactive and will prompt for confirmation before each installation step.
|
The script is interactive and will prompt for confirmation before each installation step.
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|||||||
+49
@@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Cinnamon-specific script - called by main script
|
||||||
|
# This file contains Cinnamon-specific configurations
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
CINNAMONDIR="$SCRIPT_DIR/cinnamon"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "### System Monitor Applet ###"
|
||||||
|
if question_answered_with_yes " ### System Monitor Applet in der Taskleiste installieren? ###"; then
|
||||||
|
echo "### System Monitor Applet wird installiert ###"
|
||||||
|
sudo apt-get install gir1.2-gtop-2.0 -y
|
||||||
|
wget -O /tmp/sysmonitor@orcus.zip "https://cinnamon-spices.linuxmint.com/files/applets/sysmonitor@orcus.zip"
|
||||||
|
unzip -o /tmp/sysmonitor@orcus.zip -d ~/.local/share/cinnamon/applets/
|
||||||
|
rm /tmp/sysmonitor@orcus.zip
|
||||||
|
|
||||||
|
CURRENT_APPLETS=$(gsettings get org.cinnamon enabled-applets)
|
||||||
|
echo "DEBUG: current enabled-applets = $CURRENT_APPLETS"
|
||||||
|
INSTANCE_ID=$(gsettings get org.cinnamon next-applet-id)
|
||||||
|
echo "DEBUG: ID for the new applet = $INSTANCE_ID"
|
||||||
|
|
||||||
|
echo "DEBUG: Adding sysmonitor to applets list..."
|
||||||
|
NEW_APPLET="panel1:right:13:sysmonitor@orcus:$INSTANCE_ID"
|
||||||
|
NEW_APPLETS=$(echo "$CURRENT_APPLETS" | sed "s/\\]$/, '$NEW_APPLET']/")
|
||||||
|
gsettings set org.cinnamon enabled-applets "$NEW_APPLETS"
|
||||||
|
echo "DEBUG: Checking updated current enabled-applets = $(gsettings get org.cinnamon enabled-applets)"
|
||||||
|
|
||||||
|
NEXT_ID=$((INSTANCE_ID + 1))
|
||||||
|
echo "DEBUG: Setting next-applet-id to $NEXT_ID..."
|
||||||
|
gsettings set org.cinnamon next-applet-id "$NEXT_ID"
|
||||||
|
echo "DEBUG: Checking updated next-applet-id = $(gsettings get org.cinnamon next-applet-id)"
|
||||||
|
|
||||||
|
echo "copy system monitor config file..."
|
||||||
|
mkdir -p ~/.config/cinnamon/spices/sysmonitor@orcus/
|
||||||
|
cp "$CINNAMONDIR/sysmonitor_settings.json" ~/.config/cinnamon/spices/sysmonitor@orcus/$INSTANCE_ID.json
|
||||||
|
|
||||||
|
if question_answered_with_yes " ### Falls System Monitor Applet in der Taskleiste nicht angezeigt wird: Cinnamon Desktop neu laden? ###"; then
|
||||||
|
echo "Dialog 'Sie befinden sich im Rückfallmodus' mit JA beantworten um Desktop neuzustarten"
|
||||||
|
pkill -HUP -f "cinnamon --replace"
|
||||||
|
else
|
||||||
|
echo "Falls die Taskleiste nicht aktualisiert wurde: Abmelden und wieder anmelden oder neu starten"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Fertig! System Monitor Applet wurde installiert."
|
||||||
|
|
||||||
|
fi
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
[/]
|
||||||
|
enabled-applets=['panel1:left:0:menu@cinnamon.org:0', 'panel1:left:1:separator@cinnamon.org:1', 'panel1:left:2:grouped-window-list@cinnamon.org:2', 'panel1:right:1:systray@cinnamon.org:3', 'panel1:right:2:xapp-status@cinnamon.org:4', 'panel1:right:3:notifications@cinnamon.org:5', 'panel1:right:4:printers@cinnamon.org:6', 'panel1:right:5:removable-drives@cinnamon.org:7', 'panel1:right:6:keyboard@cinnamon.org:8', 'panel1:right:7:favorites@cinnamon.org:9', 'panel1:right:8:network@cinnamon.org:10', 'panel1:right:9:sound@cinnamon.org:11', 'panel1:right:10:power@cinnamon.org:12', 'panel1:right:11:calendar@cinnamon.org:13', 'panel1:right:12:cornerbar@cinnamon.org:14', 'panel1:right:13:sysmonitor@orcus:15']
|
||||||
|
next-applet-id=16
|
||||||
|
panel-edit-mode=false
|
||||||
|
panel-zone-symbolic-icon-sizes='[{"panelId": 1, "left": 28, "center": 28, "right": 16}]'
|
||||||
|
panels-height=['1:40']
|
||||||
|
|
||||||
|
[desktop/a11y/applications]
|
||||||
|
screen-reader-enabled=false
|
||||||
|
|
||||||
|
[desktop/a11y/mouse]
|
||||||
|
dwell-click-enabled=false
|
||||||
|
dwell-threshold=10
|
||||||
|
dwell-time=1.2
|
||||||
|
secondary-click-enabled=false
|
||||||
|
secondary-click-time=1.2
|
||||||
|
|
||||||
|
[desktop/input-sources]
|
||||||
|
sources=[('xkb', 'de')]
|
||||||
|
|
||||||
|
[desktop/interface]
|
||||||
|
toolkit-accessibility=false
|
||||||
|
|
||||||
|
[desktop/screensaver]
|
||||||
|
layout-group=0
|
||||||
|
|
||||||
|
[desktop/sound]
|
||||||
|
event-sounds=false
|
||||||
|
|
||||||
|
[gestures]
|
||||||
|
swipe-down-2='PUSH_TILE_DOWN::end'
|
||||||
|
swipe-down-3='TOGGLE_OVERVIEW::end'
|
||||||
|
swipe-down-4='VOLUME_DOWN::end'
|
||||||
|
swipe-left-2='PUSH_TILE_LEFT::end'
|
||||||
|
swipe-left-3='WORKSPACE_NEXT::end'
|
||||||
|
swipe-left-4='WINDOW_WORKSPACE_PREVIOUS::end'
|
||||||
|
swipe-right-2='PUSH_TILE_RIGHT::end'
|
||||||
|
swipe-right-3='WORKSPACE_PREVIOUS::end'
|
||||||
|
swipe-right-4='WINDOW_WORKSPACE_NEXT::end'
|
||||||
|
swipe-up-2='PUSH_TILE_UP::end'
|
||||||
|
swipe-up-3='TOGGLE_EXPO::end'
|
||||||
|
swipe-up-4='VOLUME_UP::end'
|
||||||
|
tap-3='MEDIA_PLAY_PAUSE::end'
|
||||||
|
|
||||||
|
[settings-daemon/plugins/color]
|
||||||
|
night-light-last-coordinates=(52.5, 13.366667)
|
||||||
@@ -0,0 +1,458 @@
|
|||||||
|
{
|
||||||
|
"layout": {
|
||||||
|
"type": "layout",
|
||||||
|
"pages": [
|
||||||
|
"common",
|
||||||
|
"cpu",
|
||||||
|
"mem",
|
||||||
|
"swap",
|
||||||
|
"net",
|
||||||
|
"load"
|
||||||
|
],
|
||||||
|
"common": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "Common",
|
||||||
|
"sections": [
|
||||||
|
"common_g",
|
||||||
|
"common_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"common_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"onclick_program",
|
||||||
|
"smooth",
|
||||||
|
"draw_border",
|
||||||
|
"graph_width",
|
||||||
|
"graph_spacing",
|
||||||
|
"refresh_rate",
|
||||||
|
"use_padding",
|
||||||
|
"padding_lr",
|
||||||
|
"padding_tb"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"common_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"bg_color",
|
||||||
|
"border_color"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "CPU",
|
||||||
|
"sections": [
|
||||||
|
"cpu_g",
|
||||||
|
"cpu_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cpu_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"cpu_enabled",
|
||||||
|
"cpu_override_graph_width",
|
||||||
|
"cpu_graph_width",
|
||||||
|
"cpu_tooltip_decimals"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cpu_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"cpu_color_0",
|
||||||
|
"cpu_color_1",
|
||||||
|
"cpu_color_2",
|
||||||
|
"cpu_color_3"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mem": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "Memory",
|
||||||
|
"sections": [
|
||||||
|
"mem_g",
|
||||||
|
"mem_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mem_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"mem_enabled",
|
||||||
|
"mem_override_graph_width",
|
||||||
|
"mem_graph_width"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mem_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"mem_color_0",
|
||||||
|
"mem_color_1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"swap": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "Swap",
|
||||||
|
"sections": [
|
||||||
|
"swap_g",
|
||||||
|
"swap_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"swap_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"swap_enabled",
|
||||||
|
"swap_override_graph_width",
|
||||||
|
"swap_graph_width"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"swap_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"swap_color_0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"net": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "Network",
|
||||||
|
"sections": [
|
||||||
|
"net_g",
|
||||||
|
"net_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"net_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"net_enabled",
|
||||||
|
"net_override_graph_width",
|
||||||
|
"net_graph_width",
|
||||||
|
"net_minimum_graph_scale"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"net_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"net_color_0",
|
||||||
|
"net_color_1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"load": {
|
||||||
|
"type": "page",
|
||||||
|
"title": "Load",
|
||||||
|
"sections": [
|
||||||
|
"load_g",
|
||||||
|
"load_c"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"load_g": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "General",
|
||||||
|
"keys": [
|
||||||
|
"load_enabled",
|
||||||
|
"load_override_graph_width",
|
||||||
|
"load_graph_width"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"load_c": {
|
||||||
|
"type": "section",
|
||||||
|
"title": "Colors",
|
||||||
|
"keys": [
|
||||||
|
"load_color_0"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onclick_program": {
|
||||||
|
"type": "entry",
|
||||||
|
"default": "gnome-system-monitor",
|
||||||
|
"description": "Program to launch on click",
|
||||||
|
"value": "gnome-system-monitor"
|
||||||
|
},
|
||||||
|
"smooth": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Smooth graphs",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"draw_border": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Draw border",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Common graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"tooltip": "If the applet is in a vertical panel, this sets the graph height. The graph width is then the panel width minus padding",
|
||||||
|
"value": 10.0
|
||||||
|
},
|
||||||
|
"graph_spacing": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 3,
|
||||||
|
"min": -1,
|
||||||
|
"max": 100,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph spacing",
|
||||||
|
"units": "pixels",
|
||||||
|
"tooltip": "The number of pixels between each graph. Can be set to -1 to allow single line borders between graphs if borders are enabled",
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
"refresh_rate": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 1000,
|
||||||
|
"min": 100,
|
||||||
|
"max": 60000,
|
||||||
|
"step": 50,
|
||||||
|
"description": "Refresh rate",
|
||||||
|
"units": "ms",
|
||||||
|
"value": 1000
|
||||||
|
},
|
||||||
|
"use_padding": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Use custom applet padding",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"padding_lr": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 1,
|
||||||
|
"min": 0,
|
||||||
|
"max": 100,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Left/right padding",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "use_padding",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"padding_tb": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 1,
|
||||||
|
"min": 0,
|
||||||
|
"max": 100,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Top/bottom padding",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "use_padding",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
"bg_color": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgba(0,0,0,0)",
|
||||||
|
"description": "Background color",
|
||||||
|
"value": "rgba(0,0,0,0)"
|
||||||
|
},
|
||||||
|
"border_color": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(128,128,128)",
|
||||||
|
"description": "Border color",
|
||||||
|
"value": "rgb(128,128,128)"
|
||||||
|
},
|
||||||
|
"cpu_enabled": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Enable",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"cpu_override_graph_width": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Override graph width",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"cpu_graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "cpu_override_graph_width",
|
||||||
|
"value": 40
|
||||||
|
},
|
||||||
|
"cpu_tooltip_decimals": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 0,
|
||||||
|
"min": 0,
|
||||||
|
"max": 10,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Show this many decimals in the tooltip",
|
||||||
|
"units": "decimals",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"cpu_color_0": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(252,233,79)",
|
||||||
|
"description": "User color",
|
||||||
|
"value": "rgb(252,233,79)"
|
||||||
|
},
|
||||||
|
"cpu_color_1": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(252,175,62)",
|
||||||
|
"description": "Nice color",
|
||||||
|
"value": "rgb(252,175,62)"
|
||||||
|
},
|
||||||
|
"cpu_color_2": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(239,41,41)",
|
||||||
|
"description": "Kernel color",
|
||||||
|
"value": "rgb(239,41,41)"
|
||||||
|
},
|
||||||
|
"cpu_color_3": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(94,0,0)",
|
||||||
|
"description": "IOWait color",
|
||||||
|
"value": "rgb(94,0,0)"
|
||||||
|
},
|
||||||
|
"mem_enabled": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Enable",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"mem_override_graph_width": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Override graph width",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"mem_graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "mem_override_graph_width",
|
||||||
|
"value": 40
|
||||||
|
},
|
||||||
|
"mem_color_0": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(118,210,255)",
|
||||||
|
"description": "Used color",
|
||||||
|
"value": "rgb(118,210,255)"
|
||||||
|
},
|
||||||
|
"mem_color_1": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(52,101,164)",
|
||||||
|
"description": "Cached color",
|
||||||
|
"value": "rgb(52,101,164)"
|
||||||
|
},
|
||||||
|
"swap_enabled": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Enable",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"swap_override_graph_width": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Override graph width",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"swap_graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "swap_override_graph_width",
|
||||||
|
"value": 40
|
||||||
|
},
|
||||||
|
"swap_color_0": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(114,159,207)",
|
||||||
|
"description": "Used color",
|
||||||
|
"value": "rgb(114,159,207)"
|
||||||
|
},
|
||||||
|
"net_enabled": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Enable",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"net_override_graph_width": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Override graph width",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"net_graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "net_override_graph_width",
|
||||||
|
"value": 40
|
||||||
|
},
|
||||||
|
"net_minimum_graph_scale": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 0,
|
||||||
|
"min": 0,
|
||||||
|
"max": 1000000,
|
||||||
|
"step": 10,
|
||||||
|
"description": "Minimum graph scale",
|
||||||
|
"units": "Mb/s",
|
||||||
|
"tooltip": "The minimum scale for the graph in Megabits per second.\nThe graph will not scale below this minimum, but it will automatically scale if the network speed exceeds this value.\n\nTo always automatically scale, set the value to 0.",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"net_color_0": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(138,226,52)",
|
||||||
|
"description": "Download color",
|
||||||
|
"value": "rgb(138,226,52)"
|
||||||
|
},
|
||||||
|
"net_color_1": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(239,41,41)",
|
||||||
|
"description": "Upload color",
|
||||||
|
"value": "rgb(239,41,41)"
|
||||||
|
},
|
||||||
|
"load_enabled": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": true,
|
||||||
|
"description": "Enable",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"load_override_graph_width": {
|
||||||
|
"type": "switch",
|
||||||
|
"default": false,
|
||||||
|
"description": "Override graph width",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
"load_graph_width": {
|
||||||
|
"type": "spinbutton",
|
||||||
|
"default": 40,
|
||||||
|
"min": 10,
|
||||||
|
"max": 1000,
|
||||||
|
"step": 1,
|
||||||
|
"description": "Graph width",
|
||||||
|
"units": "pixels",
|
||||||
|
"dependency": "load_override_graph_width",
|
||||||
|
"value": 40
|
||||||
|
},
|
||||||
|
"load_color_0": {
|
||||||
|
"type": "colorchooser",
|
||||||
|
"default": "rgb(204,0,0)",
|
||||||
|
"description": "Color",
|
||||||
|
"value": "rgb(204,0,0)"
|
||||||
|
},
|
||||||
|
"__md5__": "9911223138f00e8c746a460d9c0f715a"
|
||||||
|
}
|
||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# XFCE-specific script - called by main script
|
||||||
|
# This file contains XFCE-specific package installations and panel configuration
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
XFCEDIR="$SCRIPT_DIR/xfce"
|
||||||
|
|
||||||
|
echo "### XFCE-specific packages ###"
|
||||||
|
sudo apt -y install xfce4-goodies
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "### Anpassung der Panel-Konfiguration / Taskleiste #### "
|
||||||
|
echo "### SystemMonitor, ArbeitsflächenAnzeige #### "
|
||||||
|
echo
|
||||||
|
echo "Achtung! Es kann vorkommen, dass die Taskleiste nach diesem Schritt verschwunden ist."
|
||||||
|
echo "Ein Abmelden und Wiederanmelden des Benutzers oder ein Reboot behebt das Problem."
|
||||||
|
echo
|
||||||
|
if question_answered_with_yes " ### Änderungen am Panel durchführen? ###"; then
|
||||||
|
echo "### ###"
|
||||||
|
sudo apt install xfce4-panel-profiles -y
|
||||||
|
|
||||||
|
echo "## Austausch der Panel-Konfigurationsdatei:"
|
||||||
|
xfce4-panel-profiles load "$XFCEDIR/xfce4-panel-profiles.tar.bz2"
|
||||||
|
|
||||||
|
if question_answered_with_yes " ### Falls System Monitor Applet in der Taskleiste nicht angezeigt wird: Desktop neu laden? ###"; then
|
||||||
|
xfce4-panel --restart
|
||||||
|
else
|
||||||
|
echo "Falls die Taskleiste nicht aktualisiert wurde: Abmelden und wieder anmelden oder neu starten"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user