Créer un écran de surveillance avec un Raspberry Pi
- Fait : Maintenant que Zabbix est installé, pourquoi ne pas l’afficher sur un écran séparé ? J’ai un vieux téléviseur, alors… essayons.
- Problème : Je n’ai pas de connexion Ethernet directe.
- Hypothèse : Exécuter les sites web nécessaires sur un Raspberry Pi 3+ en utilisant une connexion Wi-Fi et alterner entre eux.
Besoin d’une bonne carte SD et du temps
- Premier problème noté : Il faut une bonne carte SD. J’en suis déjà à ma deuxième.
- Aussi, la version 64 bits de Bookworm fonctionne, mais après quelques heures, j’obtiens l’écran multicolore. Donc, je passe à la version 32 bits.
- J’ai remarqué des petits bugs de base en exécutant
htop
, pas assez de mémoire, alors j’ai ajouté de la mémoire swap supplémentaire :sudo dphys-swapfile swapoff
- Ensuite, j’ai modifié le fichier de configuration (swap) :
```bash
sudo nano /etc/dphys-swapfile
- Changez cette valeur pour quelque chose que votre carte SD peut supporter et sous 2 Go si vous ne voulez pas modifier d’autres configurations, ex. : ```CONF_SWAPSIZE=2048``` :

- Enregistrez, puis réinitialisez le fichier swap :
```bash
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
- Redémarrez pour appliquer les changements :
```bash
sudo reboot - Pour une raison quelconque, la date et l’heure étaient incorrectes. J’ai corrigé ça en exécutant :
sudo date -s "2025-03-28 14:30:00"
Créer un script et installer des applications
-
Il faut vérifier ce que le Pi utilise actuellement pour l’affichage (Wayland ou X11) :
sudo raspi-config
-
Ensuite, allez dans 6 Options avancées - A6 Wayland - W1 X11 openbox gestionnaire de fenêtres avec backend X11 (parce que ça fonctionne mieux sur un Pi 3+).
-
Redémarrez !!
-
Ensuite, il faut installer ces applications :
- La première pour supprimer le curseur de la souris :
sudo apt-get install unclutter
- La deuxième pour pouvoir exécuter des fonctions clavier (comme appuyer sur F5 ou Ctrl+Tab):
sudo apt-get install xdotool
- La première pour supprimer le curseur de la souris :
-
Il est temps de créer le script. Dans un nouveau fichier que j’ai gardé dans mon dossier utilisateur :
- Je l’ai nommé run_fullsize.sh et j’y ai ajouté ceci :
export DISPLAY=:0
sleep 15
/bin/chromium-browser --kiosk --start-maximized --noerrdialogs --disable-infobars --enable-features=OverlayScrollbar https://time.is/ http://yourZabbixserver & - Décomposons-le :
export DISPLAY=:0
(pour s’assurer que la variable $DISPLAY est définie sur le premier et, dans mon cas, le seul écran)sleep 15
(puisque le script démarrera au démarrage, on veut que tout soit chargé avant de commencer… donc 15 secondes)/bin/chromium-browser
(lance Chromium avec les paramètres suivants)--kiosk
(pas d’interaction)--start-maximized
(plein écran)--noerrdialogs
(pas de dialogues d’erreur)--disable-infobars
(pas de barres d’onglets)--enable-features=OverlayScrollbar
(pas de barre de défilement)https...
(les sites web à afficher)
- J’ai sauvegardé et rendu le script exécutable :
sudo chmod +x run_fullsize.sh
- Je l’ai nommé run_fullsize.sh et j’y ai ajouté ceci :
-
Avant d’aller plus loin, je l’ai exécuté pour voir si ça fonctionne :
./run_fullsize.sh
- Et ça marche !
- NOTE : Je n’ai pas trouvé de moyen de me connecter automatiquement à Zabbix, alors j’ai branché un clavier et une souris, je me suis connecté et j’ai coché l’option “se souvenir de moi”.
-
Ensuite, j’ai tué le processus
pkill -o chromium
(-o pour le plus ancien) et j’ai créé deux autres scriptsrun_keystroke_sim.sh
andrun_through_tab.sh
:sleep 35
while true; do
sleep 90
xdotool key F5
done- Et :
export DISPLAY=:0
while true; do
sleep 60
xdotool key ctrl+Tab
done -
Décomposons :
- Je ne veux pas rafraîchir tout de suite, donc (sleep 35)
- Ensuite, rafraîchir toutes les 90 secondes (sleep 90)
- Sur le même écran et en s’assurant que la variable est la même (export DISPLAY=:0)
- Ensuite, changer de page web toutes les minutes (sleep 60)
- Je ne veux pas rafraîchir tout de suite, donc (sleep 35)
Lancer les scripts au démarrage
-
J’ai modifié le fichier autostart en ajoutant et supprimant certaines choses :
- Décomposons :
- Pas sûr de ce que font
@xset s off @xset s noblank @xset s noblank
mais on en a besoin. - Pour désactiver l’économiseur d’écran
# @xscreensaver -no-splash
- Supprimer le curseur de la souris
@unclutter -idle 3 -root
- Ajouter les 3 scripts :
- @/home/user/run_fullsize.sh
- @/home/user/run_through_tab.sh
- @/home/user/run_keystoke_sim.sh
- Pas sûr de ce que font
- Décomposons :
Pendant que j’utilisais SSH...
- J’ai remarqué que le service laguait souvent et même plantait. Après quelques recherches, j’ai opté pour cette approche :
-
Il faut ajouter
IPQoS cs0 cs0
à la fin du fichier/etc/ssh/sshd_config
. Je suppose que ça a un rapport avec le paramètre de type de service (TOS).
-