Personnaliser Ubuntu pour un kiosque Internet de bibliothèque

33

Je voudrais personnaliser Ubuntu pour une bibliothèque, ils veulent seulement afficher un navigateur Web avec leur site en plein écran. Aucune barre d'adresse, aucun utilisateur de bouton ne peut cliquer sur le lien de la page. Si le personnel de la bibliothèque saisit le nom d'utilisateur et le mot de passe de l'administrateur, ils peuvent modifier les paramètres d'ubuntu.

Toute suggestion ou lien utile est très apprécié.

puyo
la source
Une préférence pour la marque / version du navigateur ou pour d'autres applications?
david6
Y a-t-il eu des mises à jour à ce sujet? Un moyen d'ajouter une fonction de retour?

Réponses:

24

Je crois que cet excellent article explique ce que vous voulez, avec des captures d'écran à gogo. Vous souhaitez créer une session spéciale dans le gestionnaire de connexion qui démarrera un navigateur tel que Google Chrome à l'aide de l'option kiosk. Vous pouvez le configurer pour que les utilisateurs normaux se connectent automatiquement à cette session kiosk, tout en introduisant un court délai pour permettre à un utilisateur admin de se connecter à la session Ubuntu normale pour gérer les modifications apportées au système.

Les étapes sont assez détaillées et je ne les reproduirai donc pas dans leur intégralité ici. Mais comme Ask Ubuntu déconseille simplement de créer des liens (au cas où le site lié disparaîtrait), je vais couper et coller ici les étapes clés. Vous devriez aller au lien pour les instructions complètes.

Le fichier de bureau que vous devez créer /usr/share/xsessions/doit avoir:

[Desktop Entry]
Encoding=UTF-8
Name=Kiosk Mode
Comment=Chromium Kiosk Mode
Exec=/usr/share/xsessions/chromeKiosk.sh
Type=Application

Le script chromeKiosk.shdoit être placé dans le même répertoire avec les autorisations d'exécution et ressembler à ceci:

#!/bin/bash
xscreensaver -nosplash &
cat ~/.config/chromium/Local\ State | perl -pe "s/\"bottom.*/\"bottom\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f2),/" > ~/.config/chromium/Local\ State
cat ~/.config/chromium/Local\ State | perl -pe "s/\"right.*/\"right\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f1),/" > ~/.config/chromium/Local\ State
while true; do chromium-browser %u --start-maximized; sleep 5s; done
Chan-Ho Suh
la source
1
Si je le fais sur 12.04, le navigateur ne remplit pas tout l'écran. J'ai une frontière. C'est comme si le navigateur pensait que l'écran n'était pas en 1024x768. Avez-vous des idées?
Chris Woollard
@ChrisWoollard Avez-vous essayé la dernière étape "tester" dans l'article que j'ai lié à?
Chan-Ho Suh
@ Chan-HoSuh Isee que le même problème persiste avec une application custome pyGtK. Des idées sur la façon de maximiser les applications personnalisées?
Juzer Ali
Tout s'est bien déroulé jusqu'à ce que: "sélectionnez le mode Kiosque en tant que session par défaut". Comment procéder?
Wyck
7

J'ai trouvé un moyen d'utiliser Firefox à la place parce que je voulais éviter le mode plein écran:

Une solution de kiosque avec Ubuntu + Firefox:

Installer Ubuntu / Lubuntu / peu importe

Make user admin Définir le kiosque utilisateur Définir le kiosque pour une connexion automatique, pas de mot de passe Fixer les autorisations (le kiosque ne peut donc pas ctrl-s ni afficher dans / home / admin)

cd /home
sudo chmod 700 *

Vérifiez si l’imprimante et les autres matériels dont vous pourriez avoir besoin fonctionnent.

Installez les add-ons de Firefox: “R-kiosk” et “Reset Kiosk” (recherchez “kiosk”), éventuellement: “Easy Whitelist”. Créez un fichier appelé '[profil] / utilisateur.js' (profil est le nom de votre répertoire de profil firefox, probablement '.default') et ajoutez-y ces lignes:

user_pref("rkiosk.navbar", true);
user_pref("browser.fullscreen.autohide",false);
user_pref("browser.link.open_newwindow", 3);
user_pref("browser.link.open_newwindow.restriction", 0);
user_pref("privacy.popups.policy", 1);

(Les trois dernières lignes peuvent nécessiter une explication: je devais utiliser cela pour une application Web particulière conçue pour IE qui s'appuyait sur des fenêtres contextuelles. Je voulais donc que Firefox ouvre tous les popups comme IE le fait.)

Créez un fichier appelé '[profil] /chrome/userChrome.css' et ajoutez-lui ces lignes:

#bookmarks-menu { display: none !important;}
#window-controls { display: none !important;}
#personal-bookmarks { display: none !important;}
#autohide-context { display: none !important;}
#urlbar { display: none !important; }
#searchbar { display: none !important; }

Cela supprimera tous les icônes / menus indésirables de la fenêtre. Au cas où j'en oublierais, utilisez la fonction de personnalisation pour supprimer des éléments de la barre d'outils ou les déplacer, par exemple, vers la barre d'outils des signets qui sera masquée.

Vous voudrez peut-être configurer Firefox pour ne jamais enregistrer l'historique. Définissez la page d'accueil par défaut et redémarrez Firefox. N'oubliez pas que vous pouvez toujours fermer Firefox avec alt-f4 et le démarrer avec «firefox -safe-mode» pour désactiver le mode kiosk.

Installer Openbox (sudo apt-get install openbox obconf) Utilisez obconf pour supprimer les fenêtres supplémentaires - cela ne ferait que dérouter l'utilisateur. Modifiez le menu openbox (/etc/xdg/openbox/menu.xml) pour supprimer tous les éléments de menu indésirables. Cela vous laissera probablement avec seulement "sortie" ou rien du tout. Si vous laissez «quitter», l'utilisateur du kiosk peut se déconnecter et accéder à l'écran de connexion, mais il ne peut se reconnecter qu'en tant que kiosque, à moins qu'il ne puisse deviner le mot de passe de l'administrateur. Si vous le supprimez complètement, il est possible que vous ne puissiez pas vous déconnecter du kiosk (par exemple, pour vous connecter en tant qu'administrateur et effectuer des tâches de maintenance). Sur mon installation d'ubuntu, ctrl-alt-backspace et ctrl-alt-sysrq-k sont désactivés. Je ne peux donc redémarrer avec ctrl-alt-sysrq-b. Sinon, vous pouvez vous connecter à distance ou utiliser ctrl-alt-f1 et effectuer votre travail de maintenance à partir de la ligne de commande. Editer le fichier ~ / .config / openbox / autostart:

# run firefox:
while true; do firefox; sleep 5s; done &

Ce que l’utilisateur peut faire avec cette configuration:

Fermez Firefox avec alt-f4 (mais il redémarre après quelques secondes). Utilisez alt-tab pour changer de programme (mais Firefox est le seul programme). Il ne peut suivre que les liens de la page d'accueil, il ne peut donc pas abuser d'Internet. Redémarrez l'ordinateur (mais le mot de passe dans le bios) ctrl-alt-f1 - mais il ne connaît pas le mot de passe pour se connecter en tant qu'administrateur. S'il peut se déconnecter d'Openbox et accéder à lightdm, il peut se reconnecter en tant que kiosque, choisir un autre gestionnaire de fenêtres et en obtenir le contrôle total. Vous devez donc supprimer toutes les autres entrées .desktop de / usr / share / xsessions / excepté openbox. bureau. Je ne connais aucun moyen de lier un utilisateur à un message particulier. :-(

Les avantages d'utiliser Openbox au lieu d'un simple navigateur au-dessus de Xwindows:

Chrome / Firefox en mode kiosque est toujours maximisé. Lorsque je n'utilise pas wm, il ne remplit jamais tout l'écran. Je reçois l'option de menu Quitter (facultatif).

À quoi ça sert?

Un kiosque plein écran est utile pour naviguer sur un site Web particulier, par exemple une école, une bibliothèque ou le site Web d'un musée. Cependant, il est agréable de pouvoir revenir à la page principale / de démarrage au cas où vous vous perdriez. Le site Web doit donc être conçu avec un gros bouton d'accueil et une navigation très facile. Et vous ne pouvez avoir aucun lien menant des utilisateurs hors site car ils ne peuvent pas revenir. Bien sûr, le navigateur se réinitialisera après une période d’inactivité ou si vous le fermez avec alt-f4, mais la plupart des utilisateurs ne le sauront pas et deviendront très frustrés. C’est la raison pour laquelle le mode plein écran n’est généralement pas toujours convivial, c’est pourquoi je souhaitais conserver certaines fonctionnalités de la barre d’outils et que seul Firefox pouvait me le fournir, pas Chrome. Ou bien, essayez Openkiosk, cela n’a pas fonctionné pour moi à cause du problème de popup, mais cela pourrait fonctionner pour vous.

BIL
la source
3

Kiosque de Firefox

Les configurations de kiosque de navigateur Chrome ne permettent pas les pages Web nécessitant le 'java'. Java (IcedTea) ne dispose pas de plug-in PPAPI. Il n'est donc pas utilisable dans Chromium, car Chromium 34 dans Trusty a basculé vers le cadre de rendu Aura et n'autorise plus les plug-ins NPAPI.

Le kiosque Firefox fait! Cette configuration fonctionne à la fois sur Ubuntu 12.04 LTS et Ubuntu 14.04 LTS.

La première étape consiste à créer l'utilisateur 'Kiosk'.

Installer Cinnamon (je devais m'éloigner du bureau Unity)

sudo add-apt-repository ppa:lestcape/cinnamon    
sudo apt-get update && sudo apt-get install cinnamon

Installer mKiosk

Installez le navigateur Web mKiosk (terminal public) - (module complémentaire pour Firefox) à partir du profil des utilisateurs du kiosque. Vous serez averti par un avertissement concernant l'utilisation par les administrateurs. Accepter et aller de l'avant.

  1. À partir de l'onglet Basique: sélectionnez 'Toujours démarrer en plein écran' et laissez le reste de cet onglet par défaut
  2. Dans l'onglet Réseau: Options de proxy - Laisser un utilisateur limité à "Désactivé (connexions directes uniquement)".
  3. À partir de l'onglet Apparence: Afficher en plein écran - Sélectionnez Afficher la barre d'adresse en plein écran, Afficher les onglets, Afficher la barre d'outils des signets. Désélectionnez les boutons Afficher l'imprimante et Afficher le bouton de réinitialisation (sauf si vous souhaitez bien sûr).
  4. Dans l'onglet Sécurité: Activez Effacer pour fermer la session - Sélectionnez pour supprimer les fichiers de cache et Nettoyer l'historique pour les restrictions (restauration uniquement en mode sans échec !!) - Sélectionnez "Utiliser le mot de passe (F1, F2, F11 / Ctrl + Maj + F et F12 / Ctrl + Maj + W)! Et fournissez le mot de passe administrateur.
  5. Dans l'onglet Itérativité: laissez les valeurs par défaut.

Remarques: À l'étape 4, lorsque l'utilisateur du kiosque appuie sur l'une de ces clés entre parenthèses, il vous sera demandé le mot de passe de l'administrateur.

F1- Configurer mKiosk
F2- Confgure préférences Firefox
Ctrl+ Shift+ Fet F11- Quitter le mode plein écran en mode
Ctrl+ Shift+ Wet F12- Quitte Firefox

Après avoir configuré mKiosk, vous serez à nouveau invité à saisir le mot de passe administrateur. Vous devrez peut-être appuyer plusieurs fois sur le bouton de retour pour revenir à la page d'accueil et au mode plein écran (ou simplement appuyer F11). Vous serez informé que le mot de passe de l'administrateur a changé.

Vous pouvez maintenant configurer un bouton Signets pour la barre d’outils, tel que votre "page d’accueil" (sinon, le bouton précédent est le seul moyen de revenir à votre page d’accueil et les utilisateurs ne le feront pas).

Installer Oracle Java 7 dans Ubuntu

sudo add-apt-repository ppa:webupd8team/java    
sudo apt-get update    
sudo apt-get install oracle-java7-installer    
sudo apt-get install oracle-java7-set-default

Maintenant, vous pouvez ajouter Firefox aux «Applications de démarrage» pour les utilisateurs du kiosque. Vous devrez quitter le navigateur ( F12)

Créer le bureau de Firefox

Ouvrez un fichier ( sudo nano /usr/share/xsessions/Firefox.desktop) et collez:

[Desktop Entry]    
Name=Firefox (No effects)    
Comment=This session only opens Firefox    
Exec=/usr/bin/firefox -height 768 -width 1024    
Icon=    
Type=Application

Déconnectez-vous, sélectionnez le login Firefox (sans effet) pour l'utilisateur Kiosk, puis connectez-vous

Connexion automatique 'utilisateur du kiosque'

Vous devrez vous déconnecter et vous reconnecter en tant qu'administrateur pour gérer la connexion automatique pour l'utilisateur du kiosque.

  1. Connectez-vous en tant qu'administrateur au bureau gnome.

  2. Applications> Outils système> Administration> Comptes d'utilisateurs

  3. Déverrouiller l'utilisateur du kiosque et définir la connexion automatique sur oui

Gestion des mises à jour pour Ubuntu

  1. Appuyez sur le F12bouton. Vous serez invité à entrer le mot de passe administrateur de mKiosk. Firefox va quitter et vous serez de retour à l'écran d'ouverture de session.

  2. Connectez-vous en tant qu'administrateur. Allez dans le gestionnaire de mises à jour, recherchez les mises à jour et installez.

  3. Redémarrer. Terminé.

Bill_Friedkin
la source
2

J'ai mis en place le même. Je vous fournis un script facile. Exécutez ce script et vous pourrez utiliser un navigateur Web avec leur site en plein écran. Pas de barre d'adresse, pas de bouton, l'utilisateur ne peut que cliquer sur le lien de la page.

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt-get update sudo apt-get install google-chrome-stable -y

echo '[Desktop Entry]
Encoding=UTF-8
Name=Kiosk Mode
Comment=Chrome Kiosk Mode
Exec=/usr/share/xsessions/chromeKiosk.sh
Type=Application' >/usr/share/xsessions/kiosk.desktop

echo '#!/bin/bash
xset s off
xset s noblank
nm-applet &
sleep 5s
while true; do 
    google-chrome --window-size=1920,1080 --kiosk --window-position=0,0 http://google.com; 
    sleep 5s; 
done' >/usr/share/xsessions/chromeKiosk.sh

sudo chmod +x /usr/share/xsessions/chromeKiosk.sh

Copiez tout ce contenu dans un fichier .sh et exécutez-le. Une fois le script terminé, vous devez vous connecter en mode Kiosk, comme indiqué dans l'image.

Mode Kiosque

Kartik Agarwal
la source