Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
projets:biohacklab:borne_arcade [2026/03/20 19:44]
emoc [mars 2026]
projets:biohacklab:borne_arcade [2026/06/03 18:31] (Version actuelle)
emoc [mai 2026]
Ligne 252: Ligne 252:
 On peut choisir entre X et Wayland (via raspi-config / advanced options / Wayland) : je choisis openbox + Xorg \\ On peut choisir entre X et Wayland (via raspi-config / advanced options / Wayland) : je choisis openbox + Xorg \\
 Infos sur X.org : https://​doc.ubuntu-fr.org/​xorg \\ Infos sur X.org : https://​doc.ubuntu-fr.org/​xorg \\
-Ce qui rend possible l'​utilisation de xdotool, nouveau test réalisé après modification du fichier autostart ​+Ce qui rend possible l'​utilisation de xdotool, nouveau test réalisé après modification du fichier autostart ​\\ 
 +On peut recharger la page avec  
 +  xdotool search --onlyvisible --class chromium windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow) 
 +Ça fonctionne **si** la page a déjà été correctement chargée mais comme ce n'est pas le cas, ce n'est toujours pas la solution ... 
 + 
 +utilisation de xdotool : https://​unix.stackexchange.com/​a/​87839 
 +Pour la suite  
 +<​code>​ 
 +#​!/​bin/​bash 
 + 
 +# X plutôt que Wayland doit être activé (via raspi-config) 
 +cd /​home/​xor/​borne_biohacklab_ui_v5/​ 
 +/​usr/​bin/​python -m http.server & 
 +unclutter -idle 1 &  # ne fonctionne qu'​avec X pas wayland 
 +sleep 8 
 +#chromium --start-fullscreen --start-maximized --noerrdialogs --disable-infobars --kiosk http://​localhost:​8000 
 +chromium --kiosk --noerrdialogs --disable-session-crashed-bubble --disable-infobars http://​localhost:​8000/​index.html & 
 +#​chromium-browser --kiosk "​http://​localhost:​8000/​index.html"​ --noerrdialogs --disable-session-crashed-bubble --disable-infobars --remote-debugging-port=9222 --remote-allow-origins=http://​localhost:​9222 & 
 +#​chromium-browser --kiosk --noerrdialogs --disable-session-crashed-bubble --disable-infobars & 
 +#sleep 15 
 +#/​home/​xor/​.config/​labwc/​chromium_reload_first_tab.py 
 +sleep 15 
 +xdotool search --onlyvisible --class chromium key F5 # ne fonctionne pas avec wayland! 
 +#wtype -M ctrl r -m ctrl 
 +#firefox --kiosk "​http://​localhost:​8000/​index.html"​ 
 + 
 + 
 +xdotool search --onlyvisible --class chromium windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow) 
 + 
 + 
 +Petite fonction pour vérifier que la page recharge bien 
 + 
 +function changeBackground(color) { 
 +   ​document.body.style.background = '#'​+(Math.random()*0xFFFFFF<<​0).toString(16);​ 
 +
 +window.addEventListener("​load",​function() { changeBackground('​red'​) }); 
 +</​code>​ 
 + 
 +==== mai 2026 ==== 
 + 
 +Le Pi est en mode Xorg + openbox réglé via raspi-config 
 + 
 +=== test 1 : maj chromium === 
 + 
 +Mettre à jour chromium pour voir si la nouvelle version corrige le bug...  
 +  chromium-common/​oldstable 1:​148.0.7778.167-1~deb12u1+rpt1 arm64 [upgradable from: 1:​130.0.6723.116-1~deb12u1+rpt1] 
 + 
 +Rpi connecté au réseau wifi local 
 +  sudo nmap -sn 192.168.1.1/​24|awk '/​^Nmap/​{ip=$NF}/​D8:​3A:​DD/​{print ip}' 
 +Renvoie l'​adresse IP : 192.168.1.30 
 +<code bash> 
 +  ssh xor@192.168.1.30 
 +  sudo apt update 
 +  sudo apt list --upgradable|grep chrom 
 +    chromium-common/​oldstable 1:​148.0.7778.167-1~deb12u1+rpt1 arm64 [upgradable from: 1:​130.0.6723.116-1~deb12u1+rpt1] 
 +    chromium-sandbox/​oldstable 1:​148.0.7778.167-1~deb12u1+rpt1 arm64 [upgradable from: 1:​130.0.6723.116-1~deb12u1+rpt1] 
 +    chromium/​oldstable 1:​148.0.7778.167-1~deb12u1+rpt1 arm64 [upgradable from: 1:​130.0.6723.116-1~deb12u1+rpt1] 
 +   ​rpi-chromium-mods/​oldstable 20250506 arm64 [upgradable from: 20240904] 
 +  sudo apt install chromium 
 +</​code>​ 
 +Au passage, j'​installe micro pour avoir un éditeur de texte pratique en ssh 
 +  sudo apt install micro 
 +Puis edit du script de démarrage 
 +  micro /​home/​xor/​.config/​labwc/​autostart 
 + 
 +Pour tester le script via SSH 
 +  pkill python; pkill chromium 
 +  export DISPLAY=:​0 
 +  export XAUTHORITY=/​home/​pi/​.Xauthority 
 +  bash -x /​home/​xor/​.config/​labwc/​autostart ​  
 + 
 +Mais ça ne marche toujours pas... et l'​autostart non plus :/ 
 + 
 +=== test 2 : bidouille === 
 + 
 +ÇA FONCTIONNE! \\ 
 +Éditer le fichier ''/​etc/​xdg/​lxsession/​LXDE-pi/​autostart''​ (c'est ce fichier qui s'​active au démarrage de session) 
 +<​code>​ 
 +@lxpanel --profile LXDE-pi ​                                                                                                         
 +@pcmanfm --desktop --profile LXDE-pi ​                                                                                               
 +@xscreensaver -no-splash ​                                                                                                           
 +/​home/​xor/​borne.sh ​     
 +</​code>​ 
 + 
 +Le fichier ''​borne.sh''​ contient le script complet de démarrage, c'est moche mais ça marche, le bug du «chargement incomplet du premier onglet» n'a lieu qu'au premier démarrage, donc on démarre chrome, on recharge la page (ça ne s'​affiche pas), on stoppe chrome et on le redémarre... 
 + 
 +<code bash> 
 +#​!/​bin/​bash ​                                                                                                                       
 +                                                                                 
 +export DISPLAY=${DISPLAY:​-:​0} ​                                                                                                     
 +export XAUTHORITY=${XAUTHORITY:​-/​home/​xor/​.Xauthority} ​                                                                            
 +                                                                                                                                  
 +exec >> /​home/​xor/​borne.log 2>&1 &      # créer un fichier de log, utile pour débuguer ​                                                                                          
 +echo "=== Démarrage $(date) ===" ​                                                                                                  
 +                                                                                                                                  
 +# Désactiver la mise en veille ​                                                                                                    
 +xset s off                                                                                                                         
 +xset -dpms                                                                                                                         
 +xset s noblank ​                                                                                                                    
 +                                                                                                                                                                                                                                                          
 +# X plutôt que Wayland doit être activé (via raspi-config) ​                                                                        
 +cd /​home/​xor/​borne_biohacklab_ui_v5/ ​                                                                                              
 +/​usr/​bin/​python -m http.server &                                                                                                   
 +#unclutter -idle 1 &  # ne fonctionne qu'​avec X pas wayland ​                                                                       
 +sleep 8                                                                                                                            
 +chromium --start-fullscreen --start-maximized --noerrdialogs --disable-infobars --kiosk http://​localhost:​8000 &                    
 +sleep 8                                                                                                                            
 +xdotool key ctrl+r ​                                                                                                                
 +sleep 3                                                                                                                            
 +pkill chromium ​                                                                                                                    
 +sleep 3                                                                                                                            
 +chromium --start-fullscreen --start-maximized --noerrdialogs --disable-infobars --kiosk http://​localhost:​8000 &     
 +</​code>​ 
 + 
 +Bien vérifier que WebGL est actif dans chrome ''​chrome://​gpu'',​  
 +Si ce n'est pas le cas il faut ''​chrome://​settings/​system''​ et vérifier que "​Utiliser l'​accélération graphique si disponible"​ est activé. 
 + 
 +Puis, [[#​etape_3quand_tout_fonctionne_passer_en_lecture_seule|tout repasser en lecture seule]]  
 + 
 + 
 + 
 +===== Utile ==== 
 + 
 +ALT+F4 ferme chrome lorsqu'​il est en mode kiosque
  • projets/biohacklab/borne_arcade.1774032299.txt.gz
  • Dernière modification: 2026/03/20 19:44
  • par emoc