Comment optimiser un kiosque non interactif avec DietPi

DietPi est une distribution Linux légère et facile à utiliser, conçue pour les appareils Raspberry Pi. Elle propose une variété de fonctionnalités, notamment la possibilité de configurer un kiosque non interactif.

Un kiosque non interactif est un appareil informatique qui est utilisé pour afficher une seule application ou un seul site Web. Il est souvent utilisé dans les espaces publics, tels que les musées, les bibliothèques et les gares.

Le mode kiosque de Chromium est une fonctionnalité qui permet de configurer un navigateur Chromium pour fonctionner en mode non interactif. Cela signifie que l’utilisateur ne peut pas modifier les paramètres du navigateur ou accéder à d’autres applications.

Comment optimiser un kiosque non interactif

Il existe plusieurs façons d’optimiser un kiosque non interactif avec DietPi. Voici quelques conseils :

Cacher le curseur

Le curseur peut être distrayant ou gênant dans un kiosque. Pour le cacher, ouvrez le fichier /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh dans un éditeur de texte et ajoutez l’argument suivant à la toute fin :

exec ... --no-cursor

Définir la résolution

Si vous utilisez un moniteur haute résolution, vous voudrez peut-être définir la résolution du kiosque en conséquence. Pour ce faire, ouvrez le fichier /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh dans un éditeur de texte et modifiez la ligne suivante :

CHROMIUM_OPTS="--kiosk ... --window-size=${RES_X:-1920},${RES_Y:-1080}"

Modifiez les valeurs de RES_X et RES_Y pour la résolution souhaitée. Vous devrez peut-être également modifier les valeurs de SOFTWARE_CHROMIUM_RES_X et RES_Y dans le fichier /boot/dietpi.txt à la même résolution.

Ajuster les arguments de démarrage du kiosque Chromium

Vous pouvez également ajuster les arguments de démarrage de Chromium pour contrôler divers aspects de son comportement. Par exemple, vous pouvez désactiver le rapport de plantage, le mode incognito et la traduction. Pour ce faire, ouvrez le fichier /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh dans un éditeur de texte et modifiez la ligne suivante :

CHROMIUM_OPTS="--kiosk --no-crash-upload --disable-breakpad --disable-crash-reporter --incognito --disable-translate --no-first-run --fast --fast-start --disable-features=TranslateUI --disk-cache-dir=/dev/null --disk-cache-size=1 --password-store=basic --start-fullscreen --noerrdialogs --disable-infobars --window-size=<em>RESX</em>​:−1920,{RES_Y:-1080} --window-position=0,0"

Vous pouvez ajouter ou supprimer des arguments à votre guise. N’oubliez pas de consulter la documentation de Chromium pour plus d’informations sur les arguments de démarrage disponibles.

Gestion de l’écran

Éteindre l’écran

Pour éviter l’image résiduelle sur votre écran, vous pouvez l’éteindre à certaines heures de la nuit. Pour ce faire, créez un nouveau fichier de script avec le contenu suivant :

#!/bin/sh
xset -display :0 s blank
xset -display :0 s reset
xset -display :0 s activate

Attribuez les permissions d’exécution au script en exécutant la commande suivante :

chmod 755 turnoffmonitor.sh

Ensuite, créez une tâche cron pour exécuter le script aux heures souhaitées. Pour ce faire, ouvrez le fichier crontab de l’utilisateur dietpi avec la commande suivante :

crontab -e

Ajoutez la ligne suivante au fichier crontab :

0 22 * * * /home/dietpi/kiosk/turnoffmonitor.sh

Cela éteindra l’écran à 22h00 tous les soirs. Vous pouvez modifier l’heure à votre guise.

Allumer l’écran

Pour allumer l’écran le matin, créez un nouveau fichier de script avec le contenu suivant :

#!/bin/sh
xset -display :0 s reset
xset -display :0 s noblank

Attribuez les permissions d’exécution au script en exécutant la commande suivante :

chmod 755 turnonmonitor.sh

Ensuite, créez une tâche cron pour exécuter le script aux heures souhaitées. Pour ce faire, ouvrez le fichier crontab de l’utilisateur dietpi avec la commande suivante :

crontab -e

Ajoutez la ligne suivante au fichier crontab :

0 9 * * * /home/dietpi/kiosk/turnonmonitor.sh

Cela allumera l’écran à 9h00 tous les matins. Vous pouvez modifier l’heure à votre guise.

Une fois que vous avez créé les tâches cron, enregistrez le fichier crontab et quittez l’éditeur. Les tâches cron commenceront à s’exécuter immédiatement.

Explication

Le script turnoffmonitor.sh utilise la commande xset pour éteindre l’écran. La première ligne xset -display :0 s blank passe l’écran en mode blank, ce qui signifie qu’il sera noir mais qu’il restera allumé. La deuxième ligne xset -display :0 s reset réinitialise l’écran à son état d’origine. La troisième ligne xset -display :0 s activate active l’écran.

Le script turnonmonitor.sh utilise également la commande xset pour allumer l’écran. La première ligne xset -display :0 s reset réinitialise l’écran à son état d’origine. La deuxième ligne xset -display :0 s noblank empêche l’écran de passer en mode blank.

Surveillance du comportement du kiosque

Enfin, vous pouvez également mettre en place une surveillance du comportement du kiosque pour vous alerter en cas de problème. Par exemple, vous pouvez créer un script qui vérifie le nombre de processus Chromium en cours d’exécution. Si le nombre de processus est inférieur à un certain seuil, le script peut redémarrer le Raspberry Pi. Cela garantira que le kiosque fonctionne toujours correctement.

Pour créer ce script, créez un nouveau fichier de script avec le contenu suivant :

#!/bin/sh
RES=$(ps -aux | grep -c chromium)
if [ "${RES}" -lt 7 ]; then
    sudo shutdown -r now
fi

Attribuez les permissions 755 au fichier de script et faites de l’utilisateur dietpi le propriétaire et le groupe. Ensuite, créez une tâche cron pour exécuter le script aux heures souhaitées. Par exemple, pour vérifier le nombre de processus Chromium toutes les 5 minutes, vous ajouteriez la ligne suivante à la crontab de l’utilisateur dietpi :

*/5 * * * * /home/dietpi/kiosk/checkchromecrash.sh

Romain D.

Passionné d'informatique perdu dans une trame Ethernet. Ce blog est mon bloc-notes public.

Ajouter un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Romain D.

Passionné d'informatique perdu dans une trame Ethernet. Ce blog est mon bloc-notes public.