Adhaan/pi-setup-desktop.sh
filoor 41504ef7a8 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.
2025-05-27 22:41:19 +02:00

138 lines
3.7 KiB
Bash

#!/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"