Lancer Chromium
en mode kiosque

Chromium permet facilement d’être démarré en mode “kiosque”, c’est-à-dire de se lancer en plein écran, sans aucune bordure de fenêtre, barre d’outils ni notification (de façon surprenante, cette fonctionnalité n’est pas offerte de base par Mozilla Firefox).

Notre objectif sera d’obtenir :

Serveur d’affichage

Installation

Pour afficher le navigateur, nous allons devoir installer un serveur X. Il n’y a pas besoin d’installer d’environnement de bureau ni gestionnaire de fenêtre, inutilement volumineux, puisque le navigateur sera directement lancé en plein écran.

sudo apt-get install xserver-xorg-video-all xserver-xorg-input-all xserver-xorg-core xinit x11-xserver-utils

Lancement au démarrage

Pour démarrer automatiquement le serveur au démarrage, on modifie le fichier ~/.bash_profile, qui est exécuté lors de la connexion de l’utilisateur, pour y mettre le contenu suivant (le serveur se démarre avec startx, mais il est également nécessaire de vérifier qu’un écran est bien disponible pour éviter une erreur, par exemple, via SSH) :

if  ( -z $DISPLAY ) &&  ( $(tty) = /dev/tty1 ); then
    startx
fi

Votre système devra également être configuré pour que l’utilisateur soit automatiquement connecté au démarrage. La façon de procéder dépend de votre configuration.

Chromium

Installation

Nous allons installer, bien sûr, Chromium, mais aussi unclutter, qui nous permettra de masquer le pointeur de la souris :

sudo apt-get install chromium-browser
sudo apt-get install unclutter

Lancement au démarrage

Pour les démarrer automatiquement au démarrage, nous créons un fichier ~/.xinitrc (ce fichier est exécuté au lancement du serveur X) qui contient les commandes suivantes (en prenant soin de choisir votre URL et d’indiquer la résolution de l’écran) :

#!/bin/sh
xset -dpms
xset s off
xset s noblank

unclutter &
chromium-browser /path/to/your/file.html --window-size=1920,1080 --start-fullscreen --kiosk --incognito --noerrdialogs --disable-translate --no-first-run --fast --fast-start --disable-infobars --disable-features=TranslateUI --disk-cache-dir=/dev/null  --password-store=basic

Les commandes xset servent à éviter la mise en veille automatique du système, qui interrompra sinon l’affichage au bout d’une durée déterminée.

L’option --window-size= est indispensable, sans quoi Chromium ne s’affichera que sur une moitié de l’écran, malgré les instructions contraires, en l’absence de gestionnaire de fenêtres.