feat: Implementierung einer Windows-kompatiblen Timeout-Logik für Datenbankabfragen in der Druckerabfrage. Verwendung von Threads zur Vermeidung von Blockierungen und Verbesserung der Fehlerprotokollierung. Aktualisierung des Kiosk-Installationsskripts zur Installation zusätzlicher Pakete und Konfiguration des Kiosk-Modus mit Openbox für eine verbesserte Benutzererfahrung.

This commit is contained in:
2025-05-27 10:58:15 +02:00
parent f1232bf900
commit b289501d00
8 changed files with 929 additions and 24 deletions

View File

@@ -16,7 +16,19 @@ fi
# Installiere benötigte Pakete
echo "Installiere Pakete..."
apt update
apt install -y python3.11 python3-pip chromium-browser lightdm openbox curl
# Basis-Pakete
apt install -y python3.11 python3-pip curl
# Browser
apt install -y chromium-browser || apt install -y chromium || apt install -y firefox-esr
# Display Manager und Window Manager
apt install -y lightdm
apt install -y openbox || apt install -y xfce4 || apt install -y lxde
# X11 falls nicht vorhanden
apt install -y xorg xinit
# Erstelle Verzeichnisse
echo "Erstelle Verzeichnisse..."
@@ -58,6 +70,20 @@ systemctl daemon-reload
systemctl enable myp-backend.service
systemctl enable myp-kiosk.service
# Erstelle Benutzer 'user' falls nicht vorhanden
echo "Erstelle Benutzer 'user'..."
if ! id "user" &>/dev/null; then
useradd -m -s /bin/bash user
echo "user:user" | chpasswd
fi
# Setze Openbox als Standard-Session
echo "Setze Openbox als Standard..."
echo "openbox-session" > /home/user/.xsession
echo "openbox-session" > /home/user/.xinitrc
chmod +x /home/user/.xsession
chmod +x /home/user/.xinitrc
# Konfiguriere automatischen Login
echo "Konfiguriere automatischen Login..."
cat > /etc/lightdm/lightdm.conf.d/10-autologin.conf << EOF
@@ -65,17 +91,48 @@ cat > /etc/lightdm/lightdm.conf.d/10-autologin.conf << EOF
autologin-user=user
autologin-user-timeout=0
user-session=openbox
greeter-session=lightdm-gtk-greeter
EOF
# Konfiguriere Openbox für Kiosk-Start
echo "Konfiguriere Openbox..."
mkdir -p /home/user/.config/openbox
cat > /home/user/.config/openbox/autostart << EOF
# Warte kurz bis System bereit ist
sleep 3
# Starte Kiosk-Service automatisch
systemctl --user start myp-kiosk.service &
EOF
# Openbox-Menü deaktivieren (Kiosk-Modus)
cat > /home/user/.config/openbox/rc.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">
<keyboard>
<!-- Deaktiviere alle Tastenkombinationen -->
</keyboard>
<mouse>
<!-- Deaktiviere Rechtsklick-Menü -->
<context name="Desktop">
</context>
</mouse>
<applications>
<!-- Chromium immer im Vollbild -->
<application name="chromium*">
<fullscreen>yes</fullscreen>
<maximized>yes</maximized>
</application>
</applications>
</openbox_config>
EOF
chmod 755 /home/user/.config/openbox/autostart
chown user:user /home/user/.config/openbox/autostart
chmod 644 /home/user/.config/openbox/rc.xml
chown -R user:user /home/user/.config
chown -R user:user /home/user/.xsession
chown -R user:user /home/user/.xinitrc
echo "=== Installation abgeschlossen ==="
echo "System wird in 5 Sekunden neu gestartet..."