Comment configurer 16.04 en tant que "kiosque" basé sur Chrome? C'est à dire.:
chrome --kiosk
en tant que seule application visible pour l'utilisateur,Les recherches de base sur Google et d’autres réponses à AskUbuntu ne me conduisent qu’à certains anciens guides, ~ 14.04 ou ancien , que j’ai du mal à appliquer en 16.04 en raison de nombreuses différences entre les distributions (systemd vs old init, également de gros changements dans les interfaces graphiques, en particulier pour les paramètres système).
modifier: Idéalement, je préférerais une console/un guide basé sur un script afin de pouvoir l'automatiser sur de nombreux ordinateurs. Mais un guide basé sur une interface graphique serait toujours mieux que rien.
Vous trouverez ci-dessous ce que j’ai réussi à construire à la fin, en assemblant diverses notes et astuces que je pourrais trouver, ainsi que des "recherches originales" par moi-même. Je le trouve très rude et carrément moche par endroits, mais il me faut une solution, et cela semble fonctionner pour le moment. Doigts croisés...
VEUILLEZ NOTER que vous devriez également envisager de renforcer votre sécurité Linux pour la sécurité ,
qui est absolument pas couvert par le script présenté!
#!/bin/bash
if [ $# -ne 0 ]; then
echo "USAGE: mkkiosk.sh"
echo "Create new user 'kiosk' and configure LightDM to auto-login this user to a X session running only Chrome"
echo "in --kiosk mode."
exit 1
fi
set -x; set -e
date
# Try to make current user (admin/...) prefer 'ubuntu' to 'kiosk' for session type.
# TODO: currently doesn't seem to work, lightdm still suggests 'kiosk' session and requires manual clicking to change.
cat > ~/.dmrc << EOF
[Desktop]
Session=ubuntu
EOF
# Auto-create user 'kiosk'.
# http://askubuntu.com/a/321943/111779
# NOTE: auto-login is enabled later (autologin-user)
getent group kiosk || (
Sudo su -c "groupadd kiosk"
Sudo su -c "useradd kiosk -s /bin/bash -m -g kiosk"
)
# Install Chrome
# http://askubuntu.com/a/510186/111779
# TODO: somehow pin Chrome version? reportedly, cmdline flags are
# unofficial and can change; OTOH, security updates... though in kiosk, we show
# only one webpage; but admin user also may use Chrome.
grep chrome /etc/apt/sources.list.d/google-chrome.list >&/dev/null || (
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | Sudo apt-key add -
Sudo sh -c 'echo "deb [Arch=AMD64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
Sudo apt-get update && Sudo apt-get install -y --no-install-recommends \
google-chrome-stable
)
# https://wiki.archlinux.org/index.php/Display_manager#Session_configuration
#
# - For Chrome flags, see:
# - http://peter.sh/experiments/chromium-command-line-switches/
# (via http://askubuntu.com/a/423632/111779)
# - TryExec:
# not sure what it does, but apparently must be just binary name if present.
# (see: https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Additions/linux/lightdm-greeter/liblightdm-gobject-1.5.0/session.c)
# TODO: test if we can remove TryExec
# - IMPORTANT NOTE: If below settings are invalid, the session may just
# silently disappear as a choice in LightDM. You can then try to confirm this
# by looking in /var/log/lightdm/seat0-greeter.log for message "Ignoring
# sesion kiosk".
Sudo bash -c 'cat > /usr/share/xsessions/kiosk.desktop' << EOF
[Desktop Entry]
Encoding=UTF-8
Name=Kiosk
Comment=Start a Chrome-based kiosk session
Exec=/usr/bin/google-chrome --kiosk --window-size=1281,1025 --window-position=0,0 --no-first-run --incognito --no-default-browser-check --disable-translate http://stackoverflow.com
TryExec=/usr/bin/google-chrome
Icon=google-chrome
EOF
Sudo -u kiosk bash -c 'cat > ~kiosk/.dmrc' << EOF
[Desktop]
Session=kiosk
EOF
# See LightDM "help" in: /usr/share/doc/lightdm/lightdm.conf.gz
Sudo bash -c 'cat > /usr/share/lightdm/lightdm.conf.d/99-kiosk.conf' << EOF
[Seat:*]
user-session=kiosk
EOF
# Setting below options in only 99-kiosk.conf doesn't seem enough (conflicts on autologin-user).
Sudo bash -c 'cat > /etc/lightdm/lightdm.conf' << EOF
[Seat:*]
autologin-guest=false
autologin-user=kiosk
autologin-user-timeout=0
EOF
echo "Done."
Pour revenir à "utilisateur normal", appuyez sur Alt-F4 fermer Chrome; LightDM indiquera où vous pouvez vous connecter à votre (super) utilisateur "normal" admin/root/.... Pour revenir au "kiosque", lancez:
Sudo killall lightdm
TODO: n'a pas encore désactivé l'économiseur d'écran (ou l'a-t-il fait?).
En outre, aucune garantie, il peut vous blesser aux jambes, manger vos devoirs, etc., etc.
1) Chrome in Kiosk Définissez une tâche cron pour lancer chrome en mode kiosk et se lancer à chaque démarrage du système. par exemple. // Fichier: chrome
Shell =/bin/sh PATH =/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin @ reboot [USER] google-chrome --kiosk --incognito [URL]
Copiez ce fichier dans /etc/cron.d/
Vous pouvez également créer un programme de lancement (un fichier .desktop) avec la commande
google-chrome --kiosk --incognito [URL]
et copier ceci pour
/home/[USER]/.config/autostart
Cela active le démarrage automatique du navigateur chrome uniquement pour cet utilisateur.
2) AutoLogin Ouvrir ce fichier:
Sudo vi /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
Créer si n'existe pas.
Ajoutez ensuite ces lignes à ce fichier.
[Seat: *] Greeter-session = lightdm-gtk-greeter Connexion automatique à l'utilisateur = [USER]
Enregistrez ce fichier et redémarrez. Cela permet à l'utilisateur de se connecter automatiquement. Cet utilisateur a bien sûr des privilèges limités.
3) Connexion superutilisateur Utilisez CTRL + ALT + T, cela ouvre le terminal
gnome-session-quit --logout --force
Puis connectez-vous en tant que superutilisateur.