mirror of
https://codeberg.org/knightsub9/lxcafe.git
synced 2026-07-19 19:30:16 +02:00
@@ -1,4 +1,11 @@
|
||||
# lxcafe Repository
|
||||
|
||||
Linux Mint post-installation scripts.
|
||||
|
||||
Ablage für Code Schnipsel
|
||||
## Structure
|
||||
|
||||
- **post_installation_script/** - Main post-installation scripts for Linux Mint XFCE
|
||||
- **post_installation_script_test/** - Docker based testing environment for script development
|
||||
- **.agents/** - Agent instructions for AI-assisted development
|
||||
|
||||
See individual README files in each directory for detailed information on usage and development.
|
||||
+34
-1
@@ -35,6 +35,11 @@ echo "
|
||||
# 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
|
||||
## - Microsoft Aptos Fonts.zip
|
||||
## - google-fonts.tar.gz
|
||||
## - xfce4-panel.xml
|
||||
#
|
||||
# Zu Beginn werden die folgenden zusätzlichen Programme in einem Schritt installiert:
|
||||
#
|
||||
# xfce4-goodies (zusätzliche Elemente für die Taskleiste)
|
||||
@@ -54,6 +59,8 @@ echo "
|
||||
#
|
||||
#
|
||||
sudo apt-get update
|
||||
# needed by script to unzip Aptos font
|
||||
sudo apt install unzip -y
|
||||
|
||||
sSuffixDate=$(date '+%Y-%m-%d_%H:%M:%S')
|
||||
|
||||
@@ -61,7 +68,7 @@ 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 xfce4-panel-profiles
|
||||
sudo apt -y install xfce4-goodies clementine vlc htop hardinfo font-manager asunder gtkhash xfce4-panel-profiles unzip
|
||||
bIsVlcInstalled=true
|
||||
fi
|
||||
|
||||
@@ -106,6 +113,32 @@ if question_answered_with_yes " ### Installiere M$ Schriften? ###"; then
|
||||
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="Microsoft Aptos Fonts.zip"
|
||||
if [ ! -f "$_aptos_zip" ]; then
|
||||
echo ""
|
||||
echo "$_aptos_zip nicht gefunden."
|
||||
echo "Bitte laden Sie die Datei von Microsoft herunter und legen Sie sie im selben Verzeichnis wie dieses Skript ab."
|
||||
else
|
||||
echo
|
||||
echo "Entpacke das Archiv..."
|
||||
unzip -o "$_aptos_zip"
|
||||
echo "Erstelle /usr/share/fonts/truetype/aptos/"
|
||||
sudo mkdir -p /usr/share/fonts/truetype/aptos
|
||||
echo "Installiere alle .ttf Schriften..."
|
||||
find . -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."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo
|
||||
echo " ## freie Google-Schriften als Ersatz für aktuelle MS-Standardschriften installieren:"
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
# Post-Installation Script
|
||||
|
||||
This directory contains all files belonging to the Linux Mint XFCE post-installation script.
|
||||
This directory contains files belonging to the Linux Mint XFCE post-installation script.
|
||||
|
||||
## Prerequisites to run the script
|
||||
- Linux Mint XFCE installed and running
|
||||
- Internet connection for downloading packages and updates
|
||||
- Script file: `20251212_Nachinstallationsarbeiten_LC_Esslingen_XFCE_v8.sh` copied to Desktop
|
||||
- External files are referenced by the script, please check header comments in the script
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Start container with the test image (interactive shell)
|
||||
docker run -it --rm \
|
||||
--tmpfs /tmp:rw \
|
||||
-v "$(pwd)/../post_installation_script/":/workspace/:ro \
|
||||
mint-script-test
|
||||
--entrypoint bash \
|
||||
-v "$(pwd)/../post_installation_script/":/workspace-source:ro \
|
||||
mint-script-test \
|
||||
-c 'cp -r /workspace-source/* /workspace/ && cd /workspace && exec bash'
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
# Post-Installation Script Testing
|
||||
|
||||
This directory contains everything needed to test the post-installation script in a safe, isolated container environment.
|
||||
This directory contains a quick (but not complete) test for post-installation script in a safe, isolated container environment.
|
||||
The container has no UI installed and therefore can't test the UI related parts of the script (Taskbar adaptions), but
|
||||
it allows to test the logic, prompts, and error handling of the script.
|
||||
|
||||
## Prerequisites
|
||||
- Docker or Podman installed on the host system. If Podman is used, an alias for `docker` command should be set up (e.g. `alias docker=podman`)
|
||||
- in order to use the provided scripts without modification.
|
||||
|
||||
## Contents
|
||||
|
||||
@@ -32,7 +38,7 @@ Run the prepared shell script to build the image
|
||||
|
||||
```bash
|
||||
cd post_installation_script_test
|
||||
sh 01_create_image.sh
|
||||
bash 01_create_image.sh
|
||||
```
|
||||
|
||||
### Start a container for testing
|
||||
@@ -41,23 +47,25 @@ image and remove container after it is stopped. After container is started an in
|
||||
|
||||
```bash
|
||||
cd post_installation_script_test
|
||||
sh 02_start_container_with_image.sh
|
||||
bash 02_start_container_with_image.sh
|
||||
```
|
||||
|
||||
|
||||
### Test the script file in the running container
|
||||
After container is started an interactive session was started in the container and the script can be started for testing.
|
||||
If script is changed on the host it just needs to be restarted in the container to reflect the changes.
|
||||
This works because to folder is mounted into the container.
|
||||
After container is started an interactive session was started in the container and the script can be started for testing.
|
||||
The source script folder is mounted read-only to `/workspace-source` and contents are copied to `/workspace` at container startup.
|
||||
To test changes made on the host, restart the container - it will copy the updated files.
|
||||
|
||||
```bash
|
||||
ls -al
|
||||
sh <scriptName>.sh
|
||||
bash <scriptName>.sh
|
||||
```
|
||||
|
||||
## Security Notes
|
||||
|
||||
- The script is mounted read-only (`:ro` flag) to prevent container from modifying host files
|
||||
- The source script folder is mounted read-only to `/workspace-source`
|
||||
- Contents are automatically copied to `/workspace` (writable) at container startup
|
||||
- This keeps the host script folder untouched while allowing the script to write files (e.g., font extraction)
|
||||
- All apt installations are real but isolated in the container
|
||||
- Use `--tmpfs /tmp:rw` for any temporary writes inside the container
|
||||
- Container is automatically removed after exit (`--rm` flag)
|
||||
|
||||
Reference in New Issue
Block a user