Plutôt que de d'utiliser un ordinateur uniquement pour afficher une page web de supervision je vous propose aujourd'hui d'utiliser un Raspberry Pi.
Cette méthode est compatible avec tous les systèmes de supervision accessibles via une page web (centreon, obersvium, shinken, zabbix, etc.).
Comment ouvrir une page web automatiquement en plein écran au démarrage du Pi, sans clavier ni souris connectés ?
Compatibilité
Cette procédure a été testé Raspbian 8.x avec l'environnement graphique PIXEL et le navigateur Chromium, nativement présent. Je rappelle au passage que derrière PIXEL se cache le gestionnaire de fenêtres OpenBox et l'environnement LXDE avec un thème sauce Raspberry Pi.
J'ai lu beaucoup de choses sur ce sujet mais entre les versions, les environnements graphiques qui changent, les distributions... c'est un vrai foutoir.
Comprenez bien que nous ne confions pas la supervision au Raspberry Pi, nous l'utilisons uniquement comme périphérique d'affichage associé à un écran ou une TV.
Activer le login automatique
Allez dans Menu > Préférences > Configuration du Raspberry Pi > onglet "système" : vérifier que la connexion automatique en tant que "pi" est cochée.
De cette façon vous n'aurez pas à entrer de mot de passe au démarrage.
Démarrage automatique de Chromium
Créer le fichier /home/pi/.config/lxsession/LXDE-pi/autostart
Ajouter le contenu suivant :
@/usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com"
Ou pour démarrer en mode kiosque (verrouille l'accès à autre chose que Chromium):
@/usr/lib/chromium-browser/chromium-browser --kiosk --disable-restore-session-state "http://google.com"
Le mode kiosk empêche de quitter la fenêtre, même le menu du Raspberry Pi n'est pas accessible, alors que le mode plein écran permet via un clic droit de quitter chromium. A vous de voir quel est le meilleur mode pour vous.
Si le chemin n'existe pas il se trouve dans /etc/xdg/lxsession/LXDE/autostart sur les vieilles versions.
Au lieu d'une URL vous pouvez aussi préciser le chemin vers une page HTML, c'est ce que je fais en splittant deux images dans des iframes.
Préserver la durée de vie la carte microSD
Un écran de supervision se rafraichit souvent, je vous conseille donc de créer un ramdisk d'au moins 32 mo. Préciser ensuite en paramètre :
@/usr/lib/chromium-browser/chromium-browser --start-fullscreen --disable-restore-session-state --disk-cache-dir=/ramdisk --disk-cache-size=31457280 "http://google.com"
Désactiver l'écran de veille
Par défaut un écran de veille se lance, alors nous devons le désactiver pour que notre écran de supervision soit toujours visible.
Toujours dans /home/pi/.config/lxsession/LXDE-pi/autostart, ajouter :
@xset s off
@xset -dpms
@xset s noblank
Puis dans /etc/kbd/config modifier ces deux valeurs :
BLANK_TIME=0
POWERDOWN_TIME=0
Ces deux lignes évitent d'avoir l'écran qui passe en blanc.
Conclusion
Une fois toutes ces opérations réalisées faire un reboot et vérifier que tout fonctionne. Pour éviter d'éventuels bugs d'affichage vous pouvez ajouter un reboot du Raspberry Pi dans le cron.daily.
Enfin vous pouvez opter pour Midori en navigateur alternatif à Chromium, il s'avère très léger.
Pour piloter le Raspberry Pi à distance j'utilise vncserver, je vous ferai un petit billet pour l'installation de celui-ci afin que la connexion s'établisse sur la session active.
Quelques compléments : URL, URL, URL, mode incognito + erreur fermeture mal fermé
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
20 commentaires
Salut,
petit article sympa. Pour info, j'avais fait quelque chose de similaire il y a quelques années pour un client. Je ne sais pas si ça a changé depuis mais j'avais caché le curseur de la souris avec unclutter pour faire plus propre. Mais je ne sais pas si c'est toujours nécessaire
https://ubuntu-tutorials.com/2008/07/07/auto-hide-your-mouse-pointer-when-idle-with-unclutter/
@Stan: merci je ne connaissais pas !
bonjour
aucune des manip que j'ai testé ne fonctionne.
la modif du autostart n'a aucun effet.
sous raspbian 8
si vous avez une piste ...
merci bonne soirée
Salut, ça marche encore sous raspberry pi 3+. C'est parfait, j'ai un peu galérer car les manips à faire sont un peu différente. ( /etc/kbd/config n'existe pas dans mes fichiers)
@Philippe Robin
@/usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com"
remplace cela par
@/usr/bin/chromium-browser --start-fullscreen "http://google.com"
et normalement tout devrait marché.
Salut
Perso, quand je lance la commande "/usr/bin/chromium-browser --start-fullscreen "http://google.com" j'ai le droit à un :
[8959:8959:0121/105651.654334:ERROR:browser_main_loop.cc(670)] Failed to put Xlib into threaded mode.
(chromium-browser:8959): Gtk-WARNING **: cannot open display:
Salut,
petit article sympa. Pour info, j'avais fait quelque chose de similaire il y a quelques années pour un client. Je ne sais pas si ça a changé depuis mais j'avais caché le curseur de la souris avec unclutter pour faire plus propre. Mais je ne sais pas si c'est toujours nécessaire
https://ubuntu-tutorials.com/2008/07/07/auto-hide-your-mouse-pointer-when-idle-with-unclutter/
@JC: essaie avec ceci : https://www.ketzler.de/2017/12/installing-chromium-on-raspberry-pi-without-desktop/
@Sasauma: merci pour l'astuce! dans mon cas je préférais garder la souris pour cliquer naviguer si besoin 🙂
Bonjour,
Merci pour cet article, ayant fait une erreur dans l'adresse de la page web je souhaiterai la modifier, mais je ne sais pas comment inhiber la fonction autostart afin que le pi redémarre normalement,
Merci par avance,
@Croustibat: faire CTRL+ALT+F1 pour tomber en shell, sinon en SSH
Bonjour,
Merci ça m'a bien aidé.
Pour un Pi 4b, autostart est citué ici:
/etc/xdg/lxsession/LXDE-pi/
Et pour moi voici la ligne a ajouter dans l'autostart :
@Andykp: merci j'ai corrigé la double ligne!
tout marchait bien mais j'ai changé l'adresse du site pour x raison et j'ai voulu revenir à l'ancienne adresse du site mais maintenant dès qu'il se connecte il me dit adresse non valide ou qqchose comme ca alors que c'est la bonne adresse dans le fichier autostart et en passant par nano aussi, une idée ? (dans les fichiers c'est la bonne adresse mais quand il se co auto, l'adresse du site à : %22 devant l'url je sais pas pourquoi. ca fait %22https://....)
@casserole: tu dois avoir un guillemet qui traine en trop, le "%22" correspond à ce caractère
merci c'est bon j'ai trouvé et j'ai une autre question, comment faire pour que lorsque que je redémarre chromium, comment j'enlève le petit pop-up avec écrit : chromium ne s'est pas fermé correctement restaurer les pages.
C'est chiant du coup sur l'écran de supervision
Bonsoir, j'utilise le mode kiosk pour avoir en écran de contrôle domotique ,je pilote le on off de l'écran par un script depuis la domotique quand quelqu'un sonne , par contre et il possible par un script de changer la page justement pour avoir l'image d'une autre page sur laquelle j'ai le visio.
Je n'arrive pas a trouver solution.
Es ce faisable?
Merci
Oui, tu peux par exemple créer un fichier quand quelqu'un sonne puis surveiller ce fichier pour ensuite ouvrir la page avec une commande. Quelques liens d'exemple avec inotify (entre autres) :
https://www.howtoforge.com/tutorial/trigger-commands-on-file-or-directory-changes-with-incron/
https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes
https://superuser.com/questions/363511/execute-script-program-when-file-changes
@Mr Xhark:
Merci ,pour les liens
Pour mieux comprendre , c'est ma domotique qui récupère l'info quand la sonnette sonne, et ce que je cherche a faire , quand la sonnette passe déclencher alors sur activation d'un scénario ,ma domotique envoi un script sur l'écran .
Par défaut mon écran affiche une page Home de la domotique et le but c'est de changer cette page par celle de la sonnette
@casserole:
Salut, comment a tu fais alors ? j'ai le même problème alors qu'il n'y a pas de caractère en trop
@casserole: il existe plusieurs solutions à ça, la plus simple étant d'ajouter "--incognito"
Salut - merci pour le Tuto mais en le suivant mon bureau a disparu au démarrage
J ai la version desktop de Debian bulleyes 11).
Tout fonctionnait bien après plusieurs restart…jusqu à temps que je suive ce tuto pour réussir à lancer chromium en auto au démarrage :
- j ai modifié le fichier autostart (qui était vide)
- j ai créé le script pour lancer chromium au démarrage.
- Je n ai pas trouvé le kbd mentionné dans le Tuto (disparu avec la 11 si j ai bien lu sur un autre forum).
Maintenant, je ne vois plus le bureau (pixel je crois qu il s appelle) mais plutôt un écran noir avec un curseur/pointeur noir. Si je fais un clic droit je retrouve tous les éléments qui sont normalement présents dans la barre de menu du haut. Je peux alors lancer chromium, un terminal…
Inutile de préciser que tout a foiré car chromium ne se lance même pas en auto.
Comment remettre tout en ordre dans avoir à faire de nouveau une fresh install ?
Et aussi, avez vous une idée pour lancer chromium en auto sans encore planter mon bureau ?
Merci d avance pour le coup de main
Pat