In dieser Anleitung möchte ich euch zeigen wie man einen Raspberry als reine Surf-Station aufsetzt. Auch bekannt als Kiosk-Mode, allerdings mit einigen Verbesserungen.
Dafür wird keine komplette Grafische Oberfläche wie LXDE (Xserver) benötigt bzw gestartet, es reicht ein minimaler Window Manager. Wir verzichten also auf einen Desktop-Manager, wodurch es auch einfacher wird direkt den Browser zu laden und nur diesen verwenden zu können. Deshalb kann man auch problemlos Raspbian Lite nehmen Nach Einrichtung sind auf der SD ca. 1.9GB insg. belegt (mit MINIbian nur ca. 1.6GB). Ich empfehle aber derzeit Raspbian-Lite zu verwenden da es mit MINIbian ein seltsames Phänomen gibt (siehe weiter unten).
Da wir aufs starten einer Desktop-Umgebung verzichten wird sowohl weniger CPU-Last erzeugt als auch weniger RAM verwendet und vom einschalten des Pi bis erscheinen des Browsers vergeht auch weitaus weniger Zeit!
Wenn man den Browser schließt oder dieser crasht, kann keine andere Anwendung gestartet werden - der Browser wird binnen weniger Sekunden neu gestartet.
Der Standard Window-Manager von LXDE ist übrigens Openbox. Wir verwenden hier aber Matchbox da dieser speziell für den Kiosk-Mode ausgelegt ist und zeigt auch nur ein Fenster an.
ACHTUNG:
Aktuell solltet ihr unbedingt die LITE Version verwenden, eben jene wo noch KEIN Desktop installiert ist. Verzichtet ebenfalls auf NOOBS, denn das ist nur ein Installer.
Es gibt ein bzw zwei Besonderheiten die man vorab wissen sollte:
1)
- Derzeit gibt es nur einen Browser mit Hardwarebeschleunigung (OpenGL): Chromium (basiert auf Google Chrome).
-- Dadurch wird chromium zum einzigen vollwertigen Browser der angenehm zu verwenden ist.
-- Desweiteren ist chromium der einzige mir bekannte Browser für den es ein funktionierendes Flash-Player Plugin gibt.
-- Nachteil: Offiziell gibt es kein chromium für ARM sondern nur für x86. Aber, wie ihr euch vielleicht denken könnt, stellt das nicht unbedingt ein Problem dar Die Ubuntu Community erstellt inoffiziell auf Launchpad armhf Pakete, aber dazu später mehr.
--- Ich wär zudem vorsichtig mit Versionen von fremden Quellen, da kann (muss nicht) Spyware enthalten sein. Launchpad kann man aber i.d.R. vertrauen, nur mit anderen Quellen wär ich wie gesagt vorsichtig.
2)
- Je nachdem wie ihr den Browser startet, könnt ihr dem Anwender entweder gar keine Browser-Kontrolle oder eben normale Kontrolle geben. Ihr könnt Chromium so starten das absolut keine Adressleiste zu sehen ist und der Anwender somit keine andere URL eingeben kann. Die von Euch eingestellte Webseite wird dann natürlich im Vollbild angezeigt. Ob das auch mit Iceweasel funktioniert weiß ich aktuell nicht...
- Über den von mir gewählten Window-Manager (es gibt viele verschiedene) könnt ihr zusätzlich die Titelleiste des Browsers verbergen.
Alternativ könnt ihr natürlich auch Iceweasel verwenden (basiert auf Mozilla Firefox).
Am besten ihr probiert einfach mal beide Browser aus.
Es gibt aber natürlich auch noch andere Web-Browser wie zB Midori, oder NetSurf (unterstützt aber kein JavaScript), oder epiphany, oder kweb usw
Unterschied zwischen Chromium und Iceweasel anhand einer einfachen Webseite: RPI 3 mit Windows 10 IoT übertakten
(2 Videos)
Bevor wir mit der Installation beginnen:
Ich empfehle euch einen sog. "Silent Boot" einzurichten. Dadurch werden sämtliche Bootmeldungen unterdrückt bzw auf eine andere TTY umgeleitet, ebenso das typische Raspberry Symbol oben links und auch der "rainbow splash" ganz am Anfang beim einschalten des Pi's, werden dann nicht mehr angezeigt. Wer's ganz schön haben will kann dann stattdessen ein eigenes Bild oder sogar Video anzeigen
Zunächst benötigt ihr das aktuelle Raspbian LITE Image: https://downloads.raspberrypi.org/raspbian_lite_latest
Wie gehabt das Image auf eure SD flashen. Beim ersten mal booten von Raspbian_Lite wird automatisch "Expand Filesystem" durchgeführt und der Pi rebootet.
Meldet euch dann über SSH als Benutzer pi an und wechselt mithilfe des Befehls sudo -i zum root Benutzer. Dadurch ersparen wir uns das Einfügen von "sudo" vor jedem nachfolgenden Befehl.
Ihr könnt stattdessen selbstverständlich auch MINIbian nehmen. Das wäre noch etwas mehr optimiert, schneller und leichtgewichtiger. Allerdings müsst ihr den pi Benutzer dann selber anlegen (root password: raspberry): useradd -m -s/bin/bash pi
Mit MINIBIAN müsst ihr raspi-config erst installieren: apt-get update && apt-get install raspi-config
Und anschließend ausführen um "Expand Filesystem" wie früher auch, manuell durchführen.
Jetzt stellen wir erst mal den "Silent Boot" ein:
nano /boot/cmdline.txt ausführen und die obere Zeile wie folgt anpassen:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet vt.global_cursor_default=0 logo.nologo loglevel=3
Achtet darauf das alles in nur einer einzigen Zeile steht!
Zusätzlich müsst ihr auch noch nano /boot/config.txt ausführen und folgende Zeilen ans Ende der Datei einfügen:
Nachtrag:
Mit einem aktuellen Raspbian Lite Image vom 23.09.2016 gibt es ein komisches Problem mit dem "Silent Boot" und zwar bezüglich des cmdline.txt Eintrags "console=tty3". Solange dafür keine Lösung bekannt ist solltet ihr den Eintrag auf console=tty1 belassen.
Verursachtes Problem: Der Bootverlauf ist trotzdem zu sehen und der Window-Manager wird nicht gestartet, was dazu führt das der Pi nicht durchbootet. SSH ist dann aber glücklicherweise bereits gestartet.
Nun installieren wir einen Windows-Manager "matchbox", xorg (aber auch wirklich nur xorg), einen Login-/Display-Manager gdm3 und den Browser Iceweasel - ohne die zu installierenden Empfehlungen zu berücksichtigen da sonst auch nicht benötigtes installiert wird.
x11-xserver-utils wird für die 'xset' Befehle im späteren Script benötigt.
Denkt daran den Befehl sudo -i vorher auszuführen falls ihr euch neu anmeldet...
apt-get update
apt-get install xorg --no-install-recommends gdm3 matchbox x11-xserver-utils Iceweasel
apt-get install -f
Dadurch werden ca. 500MB zusätzlich belegt.
Dann konfigurieren wir erst mal den Display-Manager gdm3 so das unser Benutzer automatisch angemeldet wird: nano /etc/gdm3/daemon.conf
Ändert die Konfiguration so das es wie folgt aussieht:
..Es gibt bereits einen "[daemon]" Abschnitt. Entfernt einfach die "#" am Anfang der jeweiligen Zeile (einkommentieren).
Dann richten wir ein Script ein was automatisch ausgeführt wird: nano /home/pi/.xsession
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
iceweasel https://www.forum-raspberrypi.de
sleep 1
done
Dieses Script macht folgendes:
Es wird der PowerSave Modus, also "screen blank", quasi der Bildschirmschoner, ausgeschaltet.
Dann wird matchbox so gestartet das kein Mauszeiger angezeigt wird solange kein Browser geladen ist und die Titelbar ausgeschaltet wird. Über die Titelbar könnte man den Browser auch schließen (das X oben rechts). Ihr könnt die Zeile probehalber auf "matchbox-window-manager &" ändern um den Unterschied zu sehen.
Die while Schleife an sich sorgt dafür das der Browser automatisch neu gestartet wird falls dieser crasht oder allgemein geschlossen wird.
In der while Schleife steht dann die für uns wichtigste Zeile... Hier muss der Befehl des Browsers mit allen Parametern eingetragen werden - in diesem Beispiel ist es iceweasel.
Verwendet bitte immer nur einen Browser
Anschließend das eben erstellte Script ausführbar machen: chmod a+x /home/pi/.xsession
Wenn ihr nicht wollt das nach einem (neu)Start des Pi's eine vorherige Session wiederhergestellt wird, dann müsst ihr vor dem starten des Browsers noch ein paar Verzeichnisse leeren.
Dazu müsst ihr obiges Script wie folgt modifizieren: nano /home/pi/.xsession
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
rm -rf /home/$USER/.cache/
rm -rf /home/$USER/.config/
iceweasel https://www.forum-raspberrypi.de
sleep 1
done
Alles anzeigen
Beachtet, dass das die SD stärker belastet und die Haltbarkeit verkürzt! (* siehe SPOILER am Ende des Beitrags)
Nachtrag:
Seit dem 23.09.2016 (als PIXEL erschien) gibt es ein Paket rpi-chromium-mods worüber sowohl Chromium als auch das Flash-Plugin (sowie weitere Optimierungen für den Pi) installiert wird!
Es würde also reichen dieses Paket über apt-get zu installieren wodurch die beiden nachfolgenden Schritte übersprungen werden können. Dieser Schritt wäre also einfacher:
Das pepperflash Plugin wird von rpi-chromium-mods aber nicht im /usr/lib/chromium-browser/plugins/ Ordner installiert sondern im übergeorneten also müsste das Script entsprechend leicht angepasst werden:
Spoiler anzeigen
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
mkdir -p /dev/shm/{cache,user_data}
chromium-browser \
--use-gl=desktop \
--incognito \
--start-maximized \
--disk-cache-dir=/dev/shm/cache/ \
--user-data-dir=/dev/shm/user_data/ \
--ppapi-flash-path=/usr/lib/chromium-browser/libpepflashplayer.so \
#--ppapi-flash-version=19.0.0.185 \
--app=https://www.forum-raspberrypi.de
sleep 1
done
Alles anzeigen
Nun erfolgt die Installation von Chromium. Leider gestaltet sich das ein bisschen umständlicher da es kein Repository zu geben scheint, man muss die Pakete also manuell herunterladen und installieren.
Wichtig dabei ist das ihr von jedem Paket die exakt gleiche Version wählt, ihr dürft also nicht chromium-browser v48 aber dann chromium-codecs-ffmpeg v50 installieren, das wird fehlschlagen.
Ich hab hinter/über jeder Datei das Datum dieser Datei angefügt, um zu einem späteren Zeitpunkte (zum Beispiel in 2 Jahren) schneller erkennen zu können das diese Datei ggf neuer verfügbar sein könnten...
cd /usr/src
# 2014-07-27
wget http://cdimage.debian.org/cdimage/snapshot/Debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.3-5_armhf.deb
# 2016-01-25 , https://launchpad.net/ubuntu/vivid/armhf/chromium-browser/
wget http://launchpadlibrarian.net/234969703/chromium-browser_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
# 2016-01-25 , https://launchpad.net/ubuntu/vivid/armhf/chromium-codecs-ffmpeg-extra
wget http://launchpadlibrarian.net/234969705/chromium-codecs-ffmpeg-extra_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb
# 2016-02-23 , all languages
wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser-l10n_48.0.2564.82-0ubuntu0.15.04.1.1193_all.deb
Alles anzeigen
http://ports.ubuntu.com/pool/universe/c/chromium-browser/
WICHTIG: Die Version v50 bereiten Probleme - zumindest bei meinen Versuchen - deshalb versucht es bitte erst mit der hier gezeigten v48.
Pakete installieren:
apt-get install -y libexif-dev
apt-get install -f
dpkg -i libgcrypt11_1.5.3-5_armhf.deb
dpkg -i chromium-browser_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb chromium-codecs-ffmpeg-extra_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb chromium-browser-l10n_48.0.2564.82-0ubuntu0.15.04.1.1193_all.deb
apt-get install -f
Es ist leider normal das die lange dpkg Zeile einen Fehler auswirft, da noch Abhängigkeiten fehlen. Das wird mit dem nachfolgenden Befehl "apt-get install -f" aber alles behoben
Anschließend ist es wichtig das der OpenGL Treiber über deviceTree aktiviert wird, indem man folgendes in /boot/config.txt einfügt:
(funktioniert nicht mit dem Pi1)
Und auch noch ein Paket muss hierfür installiert sein:
[an=flash][/an]Flash-Plugin:
Ab Version 35 oder neuer wurde die Schnittstelle zur Nutzung von Firefox-Plugins (NPAPI) aus Chromium entfernt. Als Ersatz diente bis Mai 2015 das "Pepper Flash" Plugin (Paket pepperflashplugin-nonfree), das nun veraltet ist und durch ein neues Plugin mit dem Namen "adobe-flashplugin" ersetzt wurde.
Nichts desto trotz sollte man auf ARM Systemen erst mal weiterhin PepperFlash nutzen.
Archive herunterladen, entpacken, Chromium Konfiguration anpassen... wieder alles als root:
cd /usr/src
wget http://odroidxu.leeharris.me.uk/xu3/chromium-pepperflash-19.0.0.185.r1-1-armv7h.pkg.tar.xz
tar -Jxf chromium-pepperflash-19.0.0.185.r1-1-armv7h.pkg.tar.xz
chmod +x usr/lib/PepperFlash/*
cp usr/lib/PepperFlash/* /usr/lib/chromium-browser/plugins/
http://odroidxu.leeharris.me.uk/xu3/
Mirror: chromium-pepperflash-19.0.0.185.r1-1-armv7h.zip
Mögliche Alternativen:
Pipelight
gnash , browser-plugin-gnash
Lightspark
Wenn ihr jetzt den Chromium Browser verwenden wollt müsst ihr das .xsession Script anpassen: nano /home/pi/.xsession
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
mkdir -p /dev/shm/{cache,user_data}
chromium-browser \
--use-gl=desktop \
--incognito \
--start-maximized \
--disk-cache-dir=/dev/shm/cache/ \
--user-data-dir=/dev/shm/user_data/ \
--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so \
--ppapi-flash-version=19.0.0.185 \
--app=https://www.forum-raspberrypi.de
sleep 1
done
Alles anzeigen
Und hier ist nun auch die am Anfang dieser Anleitung angesprochene 2) Besonderheit enthalten:
- "--app" sorgt dafür das beim Chromium Browser weder Menü noch Adressleiste zu sehen ist. Der Anwender kann also nur auf der von Euch vorgegebenen Seite surfen und hat auch keinerlei Bedienelemente wie Reload oder Zurück etc..
Wenn ihr "--app=" weg lasst und nur die URL am Ende der Befehlszeile angebt, kann der Anwender den vollwertigen Browser verwenden. - "--use-gl" schaltet die Hardwarebeschleunigung an.
- "/dev/shm/" ist ein tmpfs mit der hälfte des verfügbaren Arbeitsspeichers. Durch den hier gezeigten Trick wird die SD Karte entlastet und nach einem Reboot keine vorherige Session wiederhergestellt. Sorgt aber auch dafür das mögliche Einstellungen nicht gespeichert werden...
- "--ppapi-flash" gibt den Pfad zu dem 'Adobe Flash Player' Plugin an, ihr müsst es aber noch explizit aktivieren indem ihr Chromium startet und in der Adressleiste " chrome://plugins " aufruft sowie "[x] Always allow to run" anklickt
Eine Liste mit allen sog. 'command line options' für Chromium findet ihr hier: http://peter.sh/experiments/chromium-command-line-switches/
Under Construction
Wen der langweilige schwarze Boot stört hat die Möglichkeit dies natürlich zu ändern
Eine Möglichkeit wäre ein statisches Bild anzuzeigen, oder ein nicht zu langes Video abzuspielen.
Ich empfehle euch aber plymouth (bootsplash) zu verwenden. Das ist speziell für solche Fälle entwickelt und wird ziemlich früh gestartet. Es stehen zudem verschiedene Themes zur Verfügung, man kann aber auch eigene definieren und sogar Scripts dafür zurecht basteln.
Eine Liste der verfügbaren Themes anzeigen:
Die Themes sind im Verzeichnis /usr/share/plymouth/themes/ hinterlegt
Zum aktivieren eines Themes und zugleich erzeugen des initrd.img- Files:
Bei Problemen überprüft die Logdatei /var/log/syslog
Optional zusätzliche Pakete die ihr installieren könntet:
iceweasel-l10n-de ... Das Deutsche Sprachpaket für iceweasel
Für ein angenehmes surfen solltet ihr gpu_mem=128 in /boot/config.txt einstellen.
Bei MINIbian vom 12.03.2016 taucht leider ein mal ganz kurz der Login-Promt von der Konsole auf, wo ich zZt nicht weiß woran das liegt. Mit Raspbian_LITE tritt dieses Phänomen nicht auf.
Ihr könnt auch eine HTML Datei, die auf dem Pi liegt, direkt öffnen und zwar ohne extra einen Webserver zu installieren. Einfach den absoluten Pfad zur *.html anstelle der URL setzen.
Spoiler anzeigen
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
mkdir -p /dev/shm/{cache,user_data}
chromium-browser \
--use-gl=desktop \
--incognito \
--start-maximized \
--disk-cache-dir=/dev/shm/cache/ \
--user-data-dir=/dev/shm/user_data/ \
--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so \
--ppapi-flash-version=19.0.0.185 \
--app=/var/www/html/index.html
sleep 1
done
Alles anzeigen
oder
#!/bin/bash
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
while true; do
mkdir -p /dev/shm/{cache,user_data}
chromium-browser \
--use-gl=desktop \
--incognito \
--start-maximized \
--disk-cache-dir=/dev/shm/cache/ \
--user-data-dir=/dev/shm/user_data/ \
--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so \
--ppapi-flash-version=19.0.0.185 \
/var/www/html/index.html
sleep 1
done
Alles anzeigen
Wenn ihr nicht wollt das der Anwender eine Maus bedienen/bewegen kann könnt ihr vor der while Schleife das Tool unclutter starten bzw in den Hintergrund schicken. Installieren nicht vergessen
Man kann mit Chromium die Ansicht einer Webseite auch auf "Mobile" umstellen... Siehe dazu > hier <.
Quellen:
Chromium für Debian Jessie nicht verfügbar
Console abschalten
http://blogs.wcode.org/2013/09/howto-…-browser-kiosk/
http://www.netzmafia.de/skripten/hardw…reen_Kiosk.html
https://developer-blog.net/raspberry-pi-eigener-splashscreen/
Kiosk / Präsentation - Modus für RaspberryPI
http://ric96.blogspot.de/2014/03/boot-a…spberry-pi.html
https://github.com/MobilityLab/Tr…thout-a-desktop
http://stackoverflow.com/questions/1844…ng-desktop-lxde
https://joekuan.wordpress.com/2010/08/05/ply…-boot-messages/
http://brej.org/blog/?cat=16
https://www.usenix.org/legacy/event/u…l/matchbox.html
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=99202
https://github.com/RPi-Distro/ras…pi-config#L1101
Spoiler anzeigen
Ich empfehle stattdessen für diese 2 Verzeichnisse ein tmpfs zu erzeugen, wobei ihr den Browser zumindest ein mal gestartet haben sollten damit die Standard Config erzeugt werden kann und dann diese Dateien jedes mal ins tmpfs kopiert werden können.
Erklärung dazu wäre:
Ein Browser cached sowas wie Bilder usw damit die nicht jedes mal neu aus dem Netz geladen werden müssen. Wer viel surft erzeugt also auch viele Schreibzugriffe auf der SD. Wer dann auch noch den Pi ständig neu starten möchte verursacht durch das "rm -rf" der Ordner zusätzliche Schreibzugriffe (löschen ist auch schreiben)... Das sollte man halt so gut es geht vermeiden und entweder so wie ich es hier vorschlage in ein tmpfs auslagern oder einen externen Datenträger verwenden - das wird bei modernen PC's mit SSD's zB auch empfohlen.
Wenn man aber Einstellungen vornimmt werden die auch jedes mal gelöscht, der Browser startet dadurch auch langsamer da er jedes mal die Default-Settings erzeugen muss... Und um das zu vermeiden versuche ich ein Workaround zu erstellen, da es insbesondere für das Flash-Player-Plugin wichtig ist weil man dieses explizit aktivieren muss.
Erst ein mal den Pi mit dem alten, oben gezeigten, Script starten sowie ggf Einstellungen vornehmen (zB Adobe Flash Player aktivieren), dann via SSH eine Sicherung erstellen:
# Fuer Iceweasel
mkdir -p /home/pi/.Iceweasel
cp -Rpu /home/pi/.cache /home/pi/.Iceweasel/cache
cp -Rpu /home/pi/.config /home/pi/.Iceweasel/config
# Fuer Chromium
mkdir -p /home/pi/.Chromium
cp -Rpu /dev/shm/cache/ /home/pi/.Chromium/cache
cp -Rpu /dev/shm/user_data/ /home/pi/.Chromium/user_data
Anschließend nano /home/pi/.xsession anpassen:
#!/bin/bash
BROWSER="iceweasel"
xset -dpms # disable DPMS (Energy Star) features.
xset s off # disable screen saver
xset s noblank # don't blank the video device
matchbox-window-manager -use_cursor no -use_titlebar no &
if [ "$BROWSER" = "iceweasel" ]; then
cp -R /home/$USER/.Iceweasel/cache /dev/shm/cache
cp -R /home/$USER/.Iceweasel/config /dev/shm/config
rm -rf /home/$USER/{.cache,.config}
ln -s /dev/shm/cache /home/$USER/.cache
ln -s /dev/shm/config /home/$USER/.config
else
cp -R /home/$USER/.Chromium/cache /dev/shm/cache
cp -R /home/$USER/.Chromium/user_data /dev/shm/user_data
fi
while true; do
if [ "$BROWSER" = "iceweasel" ]; then
iceweasel https://www.forum-raspberrypi.de
else
mkdir -p /dev/shm/{cache,user_data}
chromium-browser \
--use-gl=desktop \
--incognito \
--start-maximized \
--disk-cache-dir=/dev/shm/cache/ \
--user-data-dir=/dev/shm/user_data/ \
--ppapi-flash-path=/usr/lib/chromium-browser/plugins/libpepflashplayer.so \
--ppapi-flash-version=19.0.0.185 \
https://www.forum-raspberrypi.de
fi
sleep 1
done
Alles anzeigen
damit stellt ihr sicher das beim nächsten mal booten die gesicherten Verzeichnisse bzw Dateien in die tmpfs Mounts kopiert werden können, also der Standard wiederhergestellt wird und nicht jedesmal der Browser alles neu erzeugen muss. Denn wenn ihr vor dem Reboot noch individuelle Einstellungen am Browser vor nehmt werden die somit ebenfalls jedes mal wiederhergestellt und verwendet.