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.
138 lines
3.7 KiB
Bash
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"
|