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.
This commit is contained in:
parent
3da6f6e09c
commit
41504ef7a8
18
.lh/pi-setup-desktop.sh.json
Normal file
18
.lh/pi-setup-desktop.sh.json
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
137
pi-setup-desktop.sh
Normal file
137
pi-setup-desktop.sh
Normal file
@ -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"
|
||||||
Loading…
x
Reference in New Issue
Block a user