Realizzare un Kiosk Touch con Porteus
Jump to navigation
Jump to search
Porteus è una distribuzione Linux live specifica per la realizzazione di chioschi interattivi basati su Firefox o Chrome.
La versione base si installa da chiavetta USB e si configura al primo avvio.
Per renderla più gestibile è possibile
- Impostare la gestione della configurazione da remoto
- Attivare una tastiera touch con Firefox
Impostazione della configurazione da remoto
- Portare a termine la configurazione voluta, senza installare porteus
- Visualizzare via web dall'installazione la configurazione
- Esportare la configurazione via webmail o tramite un servizio tipo pastebin
- Copiare il file di configurazione su un webserver
- Rifare la configurazione specificando l'url di configurazione remota che punti al file precedentemente creato
- Un esempio di file è
connection=wired network_interface=eth0 dhcp=yes proxy= browser=firefox disable_firewall=yes homepage=http://www.example.com/kioskhome.html hostname=mykiosk01 session_idle_forced=10 primary_keyboard_layout=it disable_navigation_bar=yes kiosk_config=hhttp://www.example.com/porteus/mykiosk01.txt disable_private_mode=yes root_password=secretPassword timezone=Europe/Rome vnc_interactive=yes vnc_password=secretP wake_on_lan=yes disable_zoom_controls=yes additional_components=09-x11vnc.xzm uefi.zip 08-ssh.xzm 07-java.xzm 06-fonts.xzm 05-flash.xzm
- In questo modo, basta modificare la configurazione sul webserver, riavviare il kiosk: verrà riconfigurato con i nuovi parametri
Riferimenti
Attivazione della tastiera touch in firefox
- Firefox dispone di un addon FXKeyboard che fa apparire una tatsiera ogni volta che si clicca in un campo testo.
- Per attivarla, è necessario creare una versione customizzata di porteus che comprenda questo addon
- Verificare la versione di firefox utilizzata da porteus, consultando http://whatismybrowser.com durante l'installazione
- Scaricare la versione ESR di firefox corrispondente
- Lanciarla creando un profilo vuoto:
./firefox -no-remote -ProfileManager
- Installare l'addon
- Copiare i files:
addons.json extensions.ini extensions.json
- Rimuovere i riferimenti ad altri addon da questi files
- Impostare come percorso dell'addon
/home/guest/.mozilla/firefox/c3pp43bg.default/
- Esempio di
addons.json
{"schema":5,"addons":[]}
- Esempio di
extensions.ini
[ExtensionDirs] Extension0=/home/guest/.mozilla/firefox/c3pp43bg.default/extensions/fxkeyboard@zabreznik.net.xpi [MultiprocessIncompatibleExtensions] Extension0=fxkeyboard@zabreznik.net
- Esempio di
extensions.json
{"schemaVersion":17,"addons":[{"id":"fxkeyboard@zabreznik.net","syncGUID":"PbGs1ts4cQGl","location":"app-profile","version":"2.4.2.1-signed.1-signed","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"FxKeyboard","description":"A virtual keyboard for Firefox","creator":"Marko Zabreznik","homepageURL":"http://zabreznik.net"},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/home/guest/.mozilla/firefox/c3pp43bg.default/extensions/fxkeyboard@zabreznik.net.xpi","installDate":1473775035000,"updateDate":1473775035000,"applyBackgroundUpdates":1,"bootstrap":false,"skinnable":false,"size":112319,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":true,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"4.0.*","maxVersion":"16.*"}],"targetPlatforms":[],"multiprocessCompatible":false,"signedState":2,"seen":true}]}
- Esempio di (solo le ultime righe aggiunte)
prefs.js
# Mozilla User Preferences
/* Do not edit this file.
*
* If you make changes to this file while the application is running,
* the changes will be overwritten when the application exits.
*
* To make a manual change to preferences, you can visit the URL about:config
*/
user_pref("accessibility.browsewithcaret_shortcut.enabled", false);
user_pref("app.update.auto", false);
user_pref("app.update.enabled", false);
user_pref("browser.backspace_action", 0);
user_pref("browser.bookmarks.restore_default_bookmarks", false);
user_pref("browser.cache.disk.capacity", 0);
user_pref("browser.cache.disk.smart_size.enabled", false);
user_pref("browser.cache.disk.smart_size.first_run", false);
user_pref("browser.fullscreen.animate", false);
user_pref("browser.link.open_newwindow.disabled_in_fullscreen", true);
user_pref("browser.link.open_newwindow.restriction", 0);
user_pref("browser.migration.version", 36);
user_pref("browser.newtabpage.directory.ping", "");
user_pref("browser.newtabpage.directory.source", 'data:application/json,{}');
user_pref("browser.newtabpage.enhanced", false);
user_pref("browser.newtabpage.introShown", true);
user_pref("browser.pocket.enabled", false);
user_pref("browser.privatebrowsing.autostart", true);
user_pref("browser.rights.3.shown", true);
user_pref("browser.safebrowsing.appRepURL", "");
user_pref("browser.safebrowsing.downloads.enabled", false);
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
user_pref("browser.safebrowsing.enabled", false);
user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("browser.search.geoip.url", "");
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.search.update", false);
user_pref("browser.selfsupport.url", "");
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.startup.homepage_override.mstone", "ignore");
user_pref("browser.tabs.warnOnClose", false);
user_pref("browser.tabs.warnOnCloseOtherTabs", false);
user_pref("browser.tabs.warnOnOpen", false);
user_pref("browser.urlbar.userMadeSearchSuggestionsChoice", true);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
user_pref("dom.max_chrome_script_run_time", 0);
user_pref("dom.max_script_run_time", 0);
user_pref("extensions.autoDisableScopes", 0);
user_pref("extensions.blocklist.enabled", false);
user_pref("extensions.update.autoUpdateDefault", false);
user_pref("full-screen-api.warning.timeout", 0);
user_pref("geo.enabled", false);
user_pref("media.gmp-gmpopenh264.autoupdate", false);
user_pref("media.gmp-gmpopenh264.enabled", false);
user_pref("media.gmp-gmpopenh264.provider.enabled", false);
user_pref("network.auth.force-generic-ntlm-v1", true);
user_pref("network.automatic-ntlm-auth.allow-non-fqdn", true);
user_pref("network.protocol-handler.external.mailto", false);
user_pref("network.protocol-handler.external.news", false);
user_pref("network.protocol-handler.external.nntp", false);
user_pref("network.protocol-handler.external.snews", false);
user_pref("plugin.default.state", 2);
user_pref("plugin.state.java", 2);
user_pref("privacy.trackingprotection.pbmode.enabled", false);
user_pref("reader.parse-on-load.enabled", false);
user_pref("security.OCSP.enabled", 0);
user_pref("signon.autologin.proxy", true);
user_pref("signon.rememberSignons", false);
user_pref("toolkit.startup.max_resumed_crashes", -1);
user_pref("ui.key.menuAccessKeyFocuses", false);
user_pref("xpinstall.signatures.required", false);
user_pref("extensions.e10sBlockedByAddons", true);
user_pref("extensions.enabledAddons", "fxkeyboard%40zabreznik.net:2.4.2.1-signed.1-signed");
user_pref("extensions.xpiState", "{\"app-profile\":{\"fxkeyboard@zabreznik.net\":{\"d\":\"/home/guest/.mozilla/firefox/c3pp43bg.default/extensions/fxkeyboard@zabreznik.net.xpi\",\"e\":true,\"v\":\"2.4.2.1-signed.1-signed\",\"st\":1473775035000}}}");
- Scompattare la ISO di porteus
- Spostarsi in
cd Porteus-Kiosk-4.1.0-x86_64/xzm
- Scompattare 003-settings.xzm
unsquashfs 003-settings.xzm
- Spostarsi in
cd squashfs-root/home/guest/.mozilla/firefox/c3pp43bg.default/
- Copiare i files precedentemente modificati qui
- Ricreare il file .xzm
cd - mksquashfs squashfs-root 003-settings.xzm -comp xz -b 256K -noappend
- Rimuovere
squashfs-root
- Installare mkisofs o copiarla dal sito porteus in /usr/local/bin
- Ricreare la iso con
cd .. sudo ./make_iso.sh
- Verrà generato
../Porteus-Kiosk.iso
- Modificare la iso per essere scrivibile su chiavetta USB:
cd .. sudo isohybrid -type 0x83 -offset 1 -h 255 -s 63 Porteus-Kiosk.iso
- Testarla