Kiosk wMaker Firefox

Aus Doku-Wiki
Wechseln zu: Navigation, Suche

Erklärung

Diese Dokumentation zeigt die Schritte zu einem Linux PC der den Browser Firefox als KIOSK anbietet. Dieser kann als öffentlicher PC für Besucher, Kunden usw. verwendet werden. Veränderungen am Kiosk soll ausgeschlossen werden. Nach einem Neustart des PCs soll ein vorher definierter Zustand wieder hergestellt werden. Die Installation von Linux ist nicht Bestandteil der Anleitung

Anwendung

  • Linux Ubuntu 14.4
    • WMaker - Windows Display Manager
    • Firefox - Webbrowser
      • Add-on: Full Screen+ 2.0.3
      • Add-on: Menu Editor 1.2.7

Installation

Vorausgesetzt wird eine Ubuntu 14.4 Installation ohne Displaymanager (am besten den Ubuntu Server). Sollte aber auch mit anderen Debian basierten System funktionieren.

  • Installation der benötigten Pakete
# Xserever
aptitude install xorg xserver-xorg-video-all xserver-xorg-input-all ttf-freefont xscreensaver xscreensaver-gl xterm
# Benutzer Autologin
aptitude install mingetty 
# Nummernblock aktivieren
aptitude install numlockx
# WMaker - Displaymanager
aptitude install wmaker
# Firefox
aptitude install firefox firefox-locale-de

Konfiguration

System

Benutzer anlegen

adduser autologin

Autologin konfigurieren

vi /etc/init/tty1.conf
Change:
 #exec /sbin/getty -8 38400 tty1
 exec /sbin/mingetty --autologin autologin --noclear tty1

Starten des Windowmakers

vi /home/autologin/.bash_profile
 startx
 logout

Nach dem Autologin wird die .bash_profile ausgeführt. Durch den Befehl startx wird der Windowmanager wmaker gestartet. Nachdem dieser geschlossen wurde, erfplgt ein logout des Bentzers autologin. Der wird anschließend wieder automatisch angemeldet und der Windowsmanager wmaker wird wieder gestartet. So wird sichergestellt, dass der Kiosk erhalten bleibt.

Konfiguration der Desktop Umgebung - .xinitrc

In der Datei /home/autologin/.xinitrc können Anpassungen der Dektopumgebung vorgenommen werden. Hier der Inhalt der Datei, folgend dazu die Erklärugen:

#!/bin/bash
#
## --- Erlaubt Infos ueber xmessage an den X-Server zu senden
export DISPLAY=:0.0
xhost +

## --- Schaltet die Numlock-Taste ein
/usr/bin/numlockx on

## --- Deaktviert Tasten im Grafikmodus
xmodmap /home/autologin/.Xmodmap

## -- Startet den WindowMaker mit Voreinstellungen
# --no-clip = Keine Clips auf dem Desktop
# --no-dock = Keine Docked-Applications auf dem Desktop
wmaker --no-clip --no-dock &

## --- Startet den Browser Mozilla Firefox
exec /usr/bin/firefox -contentLocale de-DE -UILocale de-DE

Numlock

Um die Numlock Taste einzuschalten und zu verhindern, dass diese deaktiviert wird, verwende ich das Programm numlockx.

Xmodmap

In der Datei /home/autologin/.Xmodmap kann man die Tastatur anpassen/verändern. Damit können z.B. unerwünschte Tastaturkürzel deaktiviert werden.
Die Datei ist in der Regel nicht vorhanden und kann so erzeugt werden:

su - autologin 
export DISPLAY=:0.0
xhost +
xmodmap -pke > .Xmodmap

Weitere Information erhält man durch den Befehl

xmodmap -pm

Weiter infos finden Sie auf dieser Webseite: http://blacketernal.wordpress.com/set-up-key-mappings-with-xmodmap/

Wmaker

Starte den Windowsmanager

Hier finden Sie die Startoptionen und Hineise zu den Konfigurationsdateien

Firefox

Startet den Firefox. Sobald der Browser beendet wird, wird gemäß den Einstallungen in der .bash_profile der Wmake beendet, der Benutzer ausgelogt und das piel beginnt mit dem Autologin von neuem.

Xorg.conf

In der Xorg Konfiguration können Einstellungen zum Monitor, Fonts, Treiber, Tastatur, Maus usw. angepasst werden. Die xorg.conf ist in der Regel nicht vorhanden und muss erzeugt werden. Dazu ruft man den X-Server mit dem Parameter -configure auf. Dies funktioniert allerdings nur mit Root Rechten und nur dann, wenn kein anderer X-Server in Betrieb ist. Achtung! - Der X Server darf nicht laufen. Dazu müssen in der Datei /home/autologin/.bash_profile die Eintrage startx und logout auskommentiert werden und der Windowsmanager gestoppt werden.

X -configure
cp /root/xorg.conf.new /etc/X11/xorg.conf

Hier einige Einstelleungen die für den Kiosk wichtig

Section "ServerLayout"
       ...
       Option          "BlankTime"  "0"
       Option          "StandbyTime" "0"
       Option          "SuspendTime" "0"
       Option          "OffTime" "0"
       Option          "NoPM" "true"
       Option          "DontZap" "true"
       Option          "DontVTSwitch" "true"
       ...

Weiter Infos hier: http://www.x.org/archive/X11R6.8.0/doc/xorg.conf.5.html

  • Option "DontVTSwitch" "boolean"

This disallows the use of the Ctrl+Alt+Fn sequence (where Fn refers to one of the numbered function keys). That sequence is normally used to switch to another "virtual terminal" on operating systems that have this feature. When this option is enabled, that key sequence has no special meaning and is passed to clients. Default: off.

  • Option "DontZap" "boolean"

This disallows the use of the Ctrl+Alt+Backspace sequence. That sequence is normally used to terminate the Xorg server. When this option is enabled, that key sequence has no special meaning and is passed to clients. Default: off.

  • Option "BlankTime" "time"

sets the inactivity timeout for the blanking phase of the screensaver. time is in minutes. This is equivalent to the Xorg server's `-s' flag, and the value can be changed at run-time with xset(1x) . Default: 10 minutes.

  • Option "StandbyTime" "time"

sets the inactivity timeout for the "standby" phase of DPMS mode. time is in minutes, and the value can be changed at run-time with xset(1x) . Default: 20 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below).

  • Option "SuspendTime" "time"

sets the inactivity timeout for the "suspend" phase of DPMS mode. time is in minutes, and the value can be changed at run-time with xset(1x) . Default: 30 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below).

  • Option "OffTime" "time"

sets the inactivity timeout for the "off" phase of DPMS mode. time is in minutes, and the value can be changed at run-time with xset(1x) . Default: 40 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below).

  • Option "NoPM" "boolean"

Disables something to do with power management events. Default: PM enabled on platforms that support it.

Wmaker

Firefox

Firefox Einstellungen anpassen

Bevor die Menüs von Firefox angepasst werden, sollte man die Einstellungen (Menü --> Extras --> Einstellungen) seinen Anforderungen entsprechend anpassen.

  • Allgemein

Hier wird die Startseite konfiguriert.

  • Tabs

Kann eigentlich vernachlässigt werden, da keine Tabs im Kiosk gewünscht sind und hier entsprechenden Änderungen unter about:config vorgenommen werden.

  • Inhalte

Hier kann der Pop up Fenster blockieren, die Standard Schriftart und die Sparache angepasst werden.

  • Anwendungen

Anzeige der Anwendungen und Auswahl der Aktionen

  • Datenschutz

Auswahl, ob Firefox eine Chronik anlegen soll, oder die Verfolgung von aktivitäten erlaubt ist

  • Sicherheit

Warnungen sollten abgeschaltet werden, da diese den Kioks Modus stören könnten

  • Sync

(Keine Anpassungen vorgenommen)

  • Erweitert
    • Allgemein - Unter Systemeinstekungen die Prüfung auf Standardbrowser deaktivieren.
    • Datenübermittlung - Keine Datenübermittlung erlauben
    • Netzwerk - Unter Verbindungen die Proxy Enstellungen eintragen, wenn notwendig. - Der Webseiten-Cache kann nicht deaktiviert werden, da sonst kein History-Back mehr möglich. Reduzieren auf ein MB geht
    • Update - Keine automatische Updates, da dabei die Konfigurationen für den Kiosk Modus verloren gehen könnten
    • Zertifikate - Automatisch eins wählen, verhindert ungewollte nachfragen

about:config

Mittels about:config kann Firefox sehr detailiert angepasst werden. Sobald man "about:config" in die Adress-Zeile des Browser eingegeben hat, hat mann Zugriff auf eine Unmenge von Einstellungen. Für den Kiosk Modus wurden folgende ngepasst:

  • Windows/Tab Verhalten
browser.link.open_newwindow - Wert=1
browser.link.open_newwindow.disabled_in_fullscreen - Wert=true
browser.link.open_newwindow.restriction  - Wert=1

Diese Einstellungen bewirken, dass alle Links im selben Fenster geöffnet werde. Anweisungen der Webseite, ein neues Fenster/Tab zu öffnen, werden ignoriert.

  • Default Zoom Faktor
about:config
layout.css.devPixelsPerPx -1.0

Die Einstellung 1.0 entspricht optisch dem Wert 1.0. Soll die Anzeige größer werden, kann man den Wert erhöhen. (Beispiel: 1.1 o. 1.15 usw.)
Die Einstellung kann auch direkt in die prefs.js des Browsers geschrieben werden:

user_pref("layout.css.devPixelsPerPx", "1.3"); (vor dem Network Bereich)

Add-ons

Um Firefox in die richtige Form zu bringen verwende ich zwei Firefox Erweiterungen die über add-ons installiert werden können.

Menu Editor  - http://menueditor.mozdev.org/
Full Sreen+  - https://addons.mozilla.org/de/firefox/addon/fullscreen-1/?src=api

Menu Editor

Wie der Name schon sagt, können mit diesem Add-on die Menüs und Kontexmenüs angepasst werden. Über die Einstellungen wählt man einfach per Mausklick die Menü-Punkte ab die man nicht möchte. Die Menüs werden ohne Neustart übernommen.

Full Sreen+

Nachdem das Add-on installiert ist, wird es aktiviert. Danach ist der Neustart des Browsers notwendig.>br /> Nun findest man ganz rechts in der Höhe des Suche-Eingabefeldes ein Menü-Icon. Hier wählt man den oberen Eintrag, "Full Screen" und schon befindet man sich im Fullscreen. Wenn, wie oben beschrieben, über die .Xmodmap die Tastatur eingeschränkt wurde, kann der Fullscreen nicht beendet werden.

Um wieder Änderungen vornehmen zu können, deaktiviert man mittels vorangestelltem # das laden der .Xmodmap in der Datei /home/autologin/.Xmodmap. Jetz kann mittels STRG + UMSCHALT + a die Add-ons Verwaltung geöffnet werden und das Add-on FullSceen+ deaktiviert werden.