From 41504ef7a83284ff636909545075567db0c7fff1 Mon Sep 17 00:00:00 2001 From: filoor Date: Tue, 27 May 2025 22:41:19 +0200 Subject: [PATCH] feat(setup): voeg desktop kiosk installatie script toe voor Pi Dit commit voegt een nieuw installatie script toe dat een Raspberry Pi configureert om een desktop-gebaseerde kiosk te draaien. Het script installeert noodzakelijke software zoals Docker en Chromium, maakt een autostart configuratie aan voor de kiosk, schakelt power management uit, en zorgt ervoor dat het systeem automatisch naar de desktop omgeving boot met autologin. Dit behoudt volledige desktop functionaliteit en vermijdt complexe boot configuraties. --- .lh/pi-setup-desktop.sh.json | 18 +++++ pi-setup-desktop.sh | 137 +++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 .lh/pi-setup-desktop.sh.json create mode 100644 pi-setup-desktop.sh diff --git a/.lh/pi-setup-desktop.sh.json b/.lh/pi-setup-desktop.sh.json new file mode 100644 index 0000000..5eaea58 --- /dev/null +++ b/.lh/pi-setup-desktop.sh.json @@ -0,0 +1,18 @@ +{ + "sourceFile": "pi-setup-desktop.sh", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 0, + "patches": [ + { + "date": 1748378426079, + "content": "Index: \n===================================================================\n--- \n+++ \n" + } + ], + "date": 1748378426079, + "name": "Commit-0", + "content": "#!/bin/bash\n\necho \"๐Ÿ“ Adhaan Desktop Kiosk Setup\"\necho \"=============================\"\n\n# Zorg dat Docker en Docker Compose er zijn\necho \"๐Ÿณ Docker controleren...\"\nif ! command -v docker &> /dev/null; then\n echo \"Docker installeren...\"\n curl -fsSL https://get.docker.com -o get-docker.sh\n sudo sh get-docker.sh\n sudo usermod -aG docker $USER\n rm get-docker.sh\nfi\n\nif ! command -v docker-compose &> /dev/null; then\n echo \"Docker Compose installeren...\"\n sudo apt install -y docker-compose\nfi\n\n# Zorg dat Chromium er is\necho \"๐ŸŒ Browser controleren...\"\nsudo apt install -y chromium-browser\n\n# Maak kiosk script voor DESKTOP gebruik\necho \"๐Ÿ“ Desktop kiosk script aanmaken...\"\ncat > /home/$USER/kiosk.sh << 'KIOSK_EOF'\n#!/bin/bash\n# Wacht tot desktop volledig geladen is\nsleep 15\n\necho \"Starting Adhaan Kiosk...\"\n\n# Start Docker containers\ncd /home/pi/adhan\necho \"Starting Docker containers...\"\ndocker-compose -f docker-compose-pi.yml up -d\n\n# Wacht tot containers draaien\nsleep 10\n\n# Sluit eventuele andere browsers\npkill -f chromium-browser 2>/dev/null || true\n\n# Start browser in kiosk mode\necho \"Starting browser...\"\nDISPLAY=:0 chromium-browser \\\n --kiosk \\\n --start-maximized \\\n --noerrdialogs \\\n --disable-infobars \\\n --no-first-run \\\n --disable-session-crashed-bubble \\\n --disable-restore-session-state \\\n --disable-web-security \\\n --disable-features=VizDisplayCompositor \\\n http://localhost:5090 &\n\necho \"Kiosk started!\"\nKIOSK_EOF\n\nchmod +x /home/$USER/kiosk.sh\n\n# Configureer DESKTOP autostart (niet openbox!)\necho \"โš™๏ธ Desktop autostart configureren...\"\nmkdir -p ~/.config/autostart\n\ncat > ~/.config/autostart/adhaan-kiosk.desktop << 'AUTOSTART_EOF'\n[Desktop Entry]\nType=Application\nName=Adhaan Kiosk\nComment=Start Adhaan in fullscreen\nExec=/home/pi/kiosk.sh\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nStartupNotify=false\nTerminal=false\nAUTOSTART_EOF\n\nchmod +x ~/.config/autostart/adhaan-kiosk.desktop\n\n# Zorg voor DESKTOP autologin (niet console!)\necho \"๐Ÿ‘ค Desktop autologin configureren...\"\nsudo raspi-config nonint do_boot_behaviour B4\n\n# Zorg dat we naar DESKTOP booten (niet console!)\necho \"๐Ÿ–ฅ๏ธ Desktop boot configureren...\"\nsudo systemctl set-default graphical.target\nsudo systemctl unmask lightdm 2>/dev/null || true\nsudo systemctl enable lightdm\n\n# Verwijder eventuele console configuraties\nsudo rm -f /etc/systemd/system/getty@tty1.service.d/override.conf 2>/dev/null || true\nsudo rm -f /etc/systemd/system/adhan-docker.service 2>/dev/null || true\n\n# Schakel power management uit voor kiosk\necho \"โšก Power management uitschakelen...\"\ncat > ~/.config/autostart/disable-power-management.desktop << 'POWER_EOF'\n[Desktop Entry]\nType=Application\nName=Disable Power Management\nExec=sh -c 'xset -dpms; xset s noblank; xset s off'\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nStartupNotify=false\nTerminal=false\nPOWER_EOF\n\n# Test Docker setup\necho \"๐Ÿงช Docker setup testen...\"\ncd /home/$USER/adhan\nif docker-compose -f docker-compose-pi.yml config > /dev/null 2>&1; then\n echo \"โœ… Docker configuratie OK\"\nelse\n echo \"โŒ Docker configuratie probleem\"\nfi\n\necho \"\"\necho \"โœ… Desktop kiosk setup voltooid!\"\necho \"\"\necho \"๐Ÿ“‹ Volgende stappen:\"\necho \"1. Test handmatig: ~/kiosk.sh\"\necho \"2. Als het werkt: sudo reboot\"\necho \"3. Pi start naar DESKTOP en opent automatisch kiosk\"\necho \"\"\necho \"๐Ÿ”ง Handmatige bediening:\"\necho \"- Alt+F4: Sluit browser (terug naar desktop)\"\necho \"- ~/kiosk.sh: Start kiosk opnieuw\"\necho \"- Desktop blijft beschikbaar!\"\necho \"\"\necho \"๐ŸŽฏ Belangrijke verschillen met origineel script:\"\necho \"- Behoudt Desktop functionaliteit\"\necho \"- Gebruikt desktop autostart (niet console)\"\necho \"- Lightdm blijft enabled\"\necho \"- Geen complexe boot configuraties\"\n" + } + ] +} \ No newline at end of file diff --git a/pi-setup-desktop.sh b/pi-setup-desktop.sh new file mode 100644 index 0000000..dc3d764 --- /dev/null +++ b/pi-setup-desktop.sh @@ -0,0 +1,137 @@ +#!/bin/bash + +echo "๐Ÿ“ Adhaan Desktop Kiosk Setup" +echo "=============================" + +# Zorg dat Docker en Docker Compose er zijn +echo "๐Ÿณ Docker controleren..." +if ! command -v docker &> /dev/null; then + echo "Docker installeren..." + curl -fsSL https://get.docker.com -o get-docker.sh + sudo sh get-docker.sh + sudo usermod -aG docker $USER + rm get-docker.sh +fi + +if ! command -v docker-compose &> /dev/null; then + echo "Docker Compose installeren..." + sudo apt install -y docker-compose +fi + +# Zorg dat Chromium er is +echo "๐ŸŒ Browser controleren..." +sudo apt install -y chromium-browser + +# Maak kiosk script voor DESKTOP gebruik +echo "๐Ÿ“ Desktop kiosk script aanmaken..." +cat > /home/$USER/kiosk.sh << 'KIOSK_EOF' +#!/bin/bash +# Wacht tot desktop volledig geladen is +sleep 15 + +echo "Starting Adhaan Kiosk..." + +# Start Docker containers +cd /home/pi/adhan +echo "Starting Docker containers..." +docker-compose -f docker-compose-pi.yml up -d + +# Wacht tot containers draaien +sleep 10 + +# Sluit eventuele andere browsers +pkill -f chromium-browser 2>/dev/null || true + +# Start browser in kiosk mode +echo "Starting browser..." +DISPLAY=:0 chromium-browser \ + --kiosk \ + --start-maximized \ + --noerrdialogs \ + --disable-infobars \ + --no-first-run \ + --disable-session-crashed-bubble \ + --disable-restore-session-state \ + --disable-web-security \ + --disable-features=VizDisplayCompositor \ + http://localhost:5090 & + +echo "Kiosk started!" +KIOSK_EOF + +chmod +x /home/$USER/kiosk.sh + +# Configureer DESKTOP autostart (niet openbox!) +echo "โš™๏ธ Desktop autostart configureren..." +mkdir -p ~/.config/autostart + +cat > ~/.config/autostart/adhaan-kiosk.desktop << 'AUTOSTART_EOF' +[Desktop Entry] +Type=Application +Name=Adhaan Kiosk +Comment=Start Adhaan in fullscreen +Exec=/home/pi/kiosk.sh +Hidden=false +NoDisplay=false +X-GNOME-Autostart-enabled=true +StartupNotify=false +Terminal=false +AUTOSTART_EOF + +chmod +x ~/.config/autostart/adhaan-kiosk.desktop + +# Zorg voor DESKTOP autologin (niet console!) +echo "๐Ÿ‘ค Desktop autologin configureren..." +sudo raspi-config nonint do_boot_behaviour B4 + +# Zorg dat we naar DESKTOP booten (niet console!) +echo "๐Ÿ–ฅ๏ธ Desktop boot configureren..." +sudo systemctl set-default graphical.target +sudo systemctl unmask lightdm 2>/dev/null || true +sudo systemctl enable lightdm + +# Verwijder eventuele console configuraties +sudo rm -f /etc/systemd/system/getty@tty1.service.d/override.conf 2>/dev/null || true +sudo rm -f /etc/systemd/system/adhan-docker.service 2>/dev/null || true + +# Schakel power management uit voor kiosk +echo "โšก Power management uitschakelen..." +cat > ~/.config/autostart/disable-power-management.desktop << 'POWER_EOF' +[Desktop Entry] +Type=Application +Name=Disable Power Management +Exec=sh -c 'xset -dpms; xset s noblank; xset s off' +Hidden=false +NoDisplay=false +X-GNOME-Autostart-enabled=true +StartupNotify=false +Terminal=false +POWER_EOF + +# Test Docker setup +echo "๐Ÿงช Docker setup testen..." +cd /home/$USER/adhan +if docker-compose -f docker-compose-pi.yml config > /dev/null 2>&1; then + echo "โœ… Docker configuratie OK" +else + echo "โŒ Docker configuratie probleem" +fi + +echo "" +echo "โœ… Desktop kiosk setup voltooid!" +echo "" +echo "๐Ÿ“‹ Volgende stappen:" +echo "1. Test handmatig: ~/kiosk.sh" +echo "2. Als het werkt: sudo reboot" +echo "3. Pi start naar DESKTOP en opent automatisch kiosk" +echo "" +echo "๐Ÿ”ง Handmatige bediening:" +echo "- Alt+F4: Sluit browser (terug naar desktop)" +echo "- ~/kiosk.sh: Start kiosk opnieuw" +echo "- Desktop blijft beschikbaar!" +echo "" +echo "๐ŸŽฏ Belangrijke verschillen met origineel script:" +echo "- Behoudt Desktop functionaliteit" +echo "- Gebruikt desktop autostart (niet console)" +echo "- Lightdm blijft enabled" +echo "- Geen complexe boot configuraties"