forked from jchomaz/Vulture
script de lancement du kiosque intégré au dépot
This commit is contained in:
56
VHard/vulturesrv/affichage_score_kiosque.md
Normal file
56
VHard/vulturesrv/affichage_score_kiosque.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Documentation Déploiement Kiosque - Tableau de Score
|
||||
|
||||
Ce document décrit la configuration du serveur Fedora pour lancer automatiquement Google Chrome en mode plein écran au démarrage via un compositeur Wayland minimaliste (Cage).
|
||||
|
||||
## 1. Installation des dépendances
|
||||
|
||||
```bash
|
||||
sudo dnf install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
|
||||
sudo dnf install -y cage
|
||||
|
||||
```
|
||||
|
||||
## 2. Configuration de l'Autologin (Systemd)
|
||||
|
||||
Créer le fichier d'override pour que le serveur se connecte seul sur le TTY1 :
|
||||
`sudo systemctl edit getty@tty1.service`
|
||||
|
||||
Coller le contenu suivant :
|
||||
|
||||
```ini
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin vulture --noclear %I $TERM
|
||||
|
||||
```
|
||||
|
||||
## 3. Configuration Zsh (`~/.zlogin`)
|
||||
|
||||
Ajouter ces lignes à la fin de votre fichier `~/.zlogin` pour déclencher l'affichage uniquement sur le port HDMI physique (TTY1) :
|
||||
|
||||
```zsh
|
||||
# Empêcher la mise en veille de l'écran
|
||||
setterm --blank 0 --powersave off --powerdown 0
|
||||
|
||||
if [[ -z "$DISPLAY" && "$XDG_VTNR" -eq 1 ]]; then
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
|
||||
# Lancement du script de monitoring
|
||||
exec ~/Vulture/VHard/vulturesrv/kiosk-waiter.sh
|
||||
fi
|
||||
|
||||
```
|
||||
|
||||
## 4. Debug et Commandes utiles
|
||||
|
||||
* **Relancer le navigateur à distance (SSH) :**
|
||||
`pkill -u $USER cage` (Le script de boucle le relancera instantanément).
|
||||
* **Vérifier les logs :**
|
||||
`journalctl -u getty@tty1.service`
|
||||
* **Forcer l'arrêt :**
|
||||
Supprimer temporairement l'appel dans `~/.zlogin` ou tuer le script `kiosk-waiter.sh`.
|
||||
|
||||
---
|
||||
|
||||
*Note : Si vous utilisez Podman pour le reste du projet (Vulture), ce setup "Bare Metal" pour l'affichage garantit une latence minimale pour les animations du tableau de score.*
|
||||
36
VHard/vulturesrv/kiosk-waiter.sh
Normal file
36
VHard/vulturesrv/kiosk-waiter.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
# kiosk-waiter.sh
|
||||
|
||||
URL="http://localhost:5173/" # URL locale de vapp
|
||||
SERVICE_NAME="vulture-stack.service"
|
||||
|
||||
echo "Attente du démarrage de la stack Vulture..."
|
||||
|
||||
# 1. Attente que le service Systemd soit considéré comme actif
|
||||
while [[ $(systemctl --user is-active $SERVICE_NAME) != "active" ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 2. Attente que le serveur HTTP réponde (Healthy)
|
||||
# On boucle tant que le code de retour HTTP n'est pas 200
|
||||
until $(curl --output /dev/null --silent --head --fail $URL); do
|
||||
echo "Le quizz n'est pas encore prêt... attente (2s)"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "Stack Vulture détectée et saine. Lancement du kiosque."
|
||||
|
||||
# 3. Boucle de lancement de Chrome
|
||||
while true; do
|
||||
cage -- google-chrome-stable \
|
||||
--kiosk \
|
||||
--no-first-run \
|
||||
--password-store=basic \
|
||||
--ozone-platform=wayland \
|
||||
--autoplay-policy=no-user-gesture-required \
|
||||
--disable-component-update \
|
||||
"$URL"
|
||||
|
||||
echo "Chrome s'est arrêté. Relancement dans 2 secondes..."
|
||||
sleep 2
|
||||
done
|
||||
Reference in New Issue
Block a user