Adhaan/pi-setup-desktop.sh
filoor adbeb66e9b feat(setup): vervang Chromium door Puffin browser via Pi-Apps
Chromium is verwijderd en vervangen door de Puffin browser in zowel pi-setup-desktop.sh als pi-setup.sh. De installatiestappen voor Puffin zijn toegevoegd met behulp van Pi-Apps. Dit zorgt voor een naadloze installatie en configuratie voor gebruik van Puffin in kiosk mode. Overbodige Chromium-specifieke browseropties zijn verwijderd, en relevante opties voor Puffin zijn behouden om de werking te optimaliseren.
2025-05-29 17:07:16 +02:00

182 lines
5.4 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 unclutter
# Installeer Pi-Apps voor Puffin browser
echo "🌐 Pi-Apps en Puffin browser installeren..."
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
# Installeer Puffin via Pi-Apps (automatisch)
echo "🚀 Puffin browser installeren..."
~/.local/share/pi-apps/pi-apps install Puffin || echo "⚠️ Puffin installatie handmatig voltooien via Pi-Apps"
# Configureer HDMI audio automatisch
echo "🔊 HDMI audio automatisch configureren..."
sudo raspi-config nonint do_audio 1 # 0=auto, 1=hdmi, 2=headphones
# 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..."
# Forceer HDMI audio output
echo "🔊 HDMI audio configureren..."
amixer cset numid=3 2 # 0=auto, 1=headphones, 2=hdmi
sudo raspi-config nonint do_audio 2 # Force HDMI audio
# Zet volume op redelijk niveau (70%)
amixer set PCM 70%
# 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 puffin-browser 2>/dev/null || true
# Start browser in kiosk mode met audio optimalisaties
echo "Starting browser..."
DISPLAY=:0 puffin-browser \
--kiosk \
--start-maximized \
--noerrdialogs \
--disable-infobars \
--no-first-run \
--disable-session-crashed-bubble \
--disable-restore-session-state \
--disable-web-security \
--autoplay-policy=no-user-gesture-required \
--allow-running-insecure-content \
--disable-translate \
--disable-features=Translate \
--lang=nl \
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
# 💀 HARDCORE BOOT OPTIMALISATIES voor DESKTOP
echo "💀 Desktop hardcore optimalisaties..."
# Disable services die desktop niet nodig heeft
sudo systemctl disable bluetooth.service 2>/dev/null || true
sudo systemctl disable ModemManager.service 2>/dev/null || true
sudo systemctl disable systemd-timesyncd.service 2>/dev/null || true
sudo systemctl disable NetworkManager-wait-online.service 2>/dev/null || true
# Boot optimalisaties
echo "# Desktop boot optimalisaties" | sudo tee -a /boot/config.txt
echo "boot_delay=0" | sudo tee -a /boot/config.txt
echo "gpu_mem=128" | sudo tee -a /boot/config.txt
echo "arm_freq=1200" | sudo tee -a /boot/config.txt
# Kernel optimalisaties
if ! grep -q "quiet" /boot/cmdline.txt; then
sudo sed -i 's/$/ quiet fastboot/' /boot/cmdline.txt
fi
# 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"