J'ai fait une nouvelle installation d'Ubuntu 14.04 LTS Desktop et je souhaite maintenant le convertir en kiosque avec un navigateur Web plein écran.
Cela avait déjà été fait dans 10.04 et fonctionnait parfaitement, mais en raison de modifications matérielles (graphiques), nous sommes obligés d'utiliser la version 14.04.
J'ai créé un kiosk.desktop dans /usr/share/xsessions
et un script Shell appelé kiosk.sh
qui lance firefox avec r-kiosk
installé. Le script shell est exécutable. Un utilisateur appelé "kiosk" est défini sur la connexion automatique (dans /etc/lightdm/lightdm.conf
).
Mais maintenant je suis coincé. Je souhaite que le kiosk.sh
soit exécuté lors du démarrage de la session utilisateur du kiosk.
Dans les versions précédentes, cela pouvait être fait dans l'outil graphique "Paramètres de l'écran de connexion" ou dans /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
.
J'ai changé 50-ubuntu.conf
en "user-session=kiosk"
mais cela ne démarre pas. L'outil "Paramètres de l'écran de connexion" est introuvable. At-il été remplacé par un autre utilitaire en 14.04?
Placer un kiosk.sh.desktop
dans ~/kiosk/.config/autostart works
, mais le gnome-desktop est affiché avant que firefox ne démarre en mode plein écran, ce qui permet aux utilisateurs d’interagir avec le bureau.
Quelle est la meilleure méthode pour démarrer Firefox en plein écran après la connexion automatique de l’utilisateur?
Merci
Thomas
Personnellement, je jetterais mon attention sur tous les trucs lightdm
et Xsession
et lancerais ma propre instance de X qui vient de démarrer Firefox. Cela semble cauchemardesque mais c'est vraiment simple avec un peu de script Upstart
start on (filesystem and stopped udevtrigger)
stop on runlevel [06]
console output
emits starting-x
respawn
exec Sudo -u thomas startx /etc/X11/Xsession /path/to/kiosk.sh --
Évidemment, changez le nom d'utilisateur pour le type d'utilisateur que vous voulez utiliser, mais c'est à peu près tout. Enregistrez cela sous /etc/init/x.conf
et vous devriez pouvoir Sudo start x
et vous êtes absent (le chargement se fera au démarrage). Si Firefox se bloque, il rechargera X avec une nouvelle instance.
Si vous avez une installation à part entière d'Ubuntu à cet emplacement, vous devrez peut-être tout d'abord désactiver LightDM avec:
Sudo stop lightdm
echo manual | Sudo tee /etc/init/lightdm.override
Et votre profil Firefox est complètement à vous. Vous voudrez peut-être même créer un script dans une restauration de profil afin que, si quelqu'un casse votre profil, vous devez simplement redémarrer votre service x
et qu'il utilisera à nouveau la copie vierge. Juste une idée.
J'ai depuis écrit un article de blog sur créer un kiosque à partir de zéro avec 14.04 et Chrome .
En ce qui concerne votre problème de configuration sans fil, je vous conseillerais de l’éloigner autant des utilisateurs occasionnels. Vous pouvez configurer une connexion à l'aide d'un TTY assez simplement:
Sudo nmcli dev wifi con <SSID> password <password>
Cela devrait ajouter la connexion au système et se connecter (et se connecter automatiquement à l'avenir) mais je ne l'ai pas testé. Il n’a peut-être même pas besoin de Sudo
mais tout dépend des privilèges de votre utilisateur principal.
L'avantage simple de charger quelque chose d'autre à l'arrière-plan est qu'il n'y a aucune chance qu'un passant ait accès à une boîte de dialogue de configuration réseau graphique. L’opérateur doit pouvoir suivre les instructions.
S'ils ne peuvent pas gérer cela, vous pouvez assez facilement modifier votre kiosk.sh
pour rechercher des connexions existantes et poser des questions zenity
name __- qui alimentent le précédent nmcli
commander:
if [[ $(nmcli con | wc -l) == 1 ]]; then
SSID=$(zenity ...)
PASS=$(zenity ...)
nmcli dev wifi con $SSID password $PASS
fi
C'est juste une idée approximative. Vous aurez besoin de travailler sur cela. Il peut exister une meilleure application de configuration de gestionnaire de réseau graphique autonome.