Installation eines Touchscreen-Frontends für Raspberry Pi unter Jessie
Ab Version 0.80.0 liefern wir ein neues Drucker-Frontend aus, das für die Touch-Bedienung optimiert ist und auf die meisten verfügbaren Displays passt. Es passt sich automatisch an die nächstkleinere Bildschirmauflösung an, falls die Auflösung nicht unterstützt wird. Das neue Frontend verwendet aktuelle Technologie, so dass du einen aktuellen Browser benötigst. Der einzige, der zu unserer Zufriedenheit funktionierte, war der Chromium-Browser. Firefox/Iceweasel funktionierten auch, haben aber keinen Kioskmodus und zeigen die URLs immer unten links an, was die Anzeige stört. In einem ersten Schritt solltest du also die Paketregistrierung aktualisieren und den Browser installieren:
apt-get update api install chromium-browser rpi-chromium-mods
Als nächstes solltest du deinen Pi so konfigurieren, dass er sich automatisch mit
raspi-config
einloggt. Wähle „3 Boot Options“ und dann „B4 Desktop Autologin“. Jetzt wird dein Pi direkt in das X Window System booten. Alles, was zu tun ist, ist das Öffnen des Browsers im Vollbild-Kiosk-Modus mit der Server-Frontend-URL http://127.0.0.1:3344/modules/front2/www/app.html
In unserem Pi-Image haben wir „B2 Console Autologin“ gewählt und am Ende von /home/pi/.bashrc folgendes hinzugefügt:
if ! pgrep "xinit" > /dev/null then xinit -- -nocursor & fi
Dadurch wird der x-Server ohne Mauszeiger gestartet, was eine nette Sache ist, da wir ihn als Touch-Display verwenden.
Wenn du das normale Jessie-Image mit x hast, hast du den lxde-Desktop installiert. Dort wäre die Autostart-Datei „/home/pi/.config/lxsession/LXDE-pi/autostart“. Wenn du unser Pi-Image verwendest, lautet die Autostart-Datei „/home/pi/.config/openbox/autostart“, da wir openbox verwenden, um die Speichernutzung zu reduzieren. Öffne die Datei mit deinem bevorzugten Editor und füge Folgendes hinzu:
# Dekommentiere die folgenden 3 Befehle, damit die Anzeige immer eingeschaltet ist #xset s off # Bildschirmschoner nicht aktivieren #xset -dpms # DPMS-Funktionen (Energy Star) deaktivieren #xset s noblank # Videogerät nicht ausschalten chromium-browser --noerrdialogs --disable-suggestions-service --disable-translate --disable-save-password-bubble --disable-session-crashed-bubble --disable-infobars --touch-events=enabled --disable-gesture-typing --kiosk http://127.0.0.1:3344/modules/front2/www/app.html
Die 3 xset-Befehle verhindern, dass das Display leer wird, so dass es immer eingeschaltet bleibt und du immer den Druckstatus sehen kannst. Andernfalls wird das Display nach einer Weile leer und du musst ihn erst berühren, um den Inhalt zu sehen.
Installation eines Touchscreen-Frontends für Raspberry Pi auf Wheezy
- Installiere den Touchscreen wie für dein Display erforderlich.
- Kalibrieren deinen Touchscreen.
- Installiere kweb. Neueste Informationen findest du hier: http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=40860
- Schließe x window system, falls es läuft.
sudo service lightdm stop
- Erstelle eine Datei rs in Ihrem Home-Verzeichnis (die folgenden Beispiele gehen vom Benutzer pi aus).
#!/bin/sh openbox --config-file ~/.config/openbox/LXDE-rc.xml --startup tint2 & kweb -KEJF http://localhost:3344/mod/front/1024x800/index.html
Wähle den Link so aus, dass er deiner Bildschirmauflösung entspricht.
- Teste, ob der Link funktioniert (der Server muss bereits laufen).
sudo xinit /home/pi/rs -- -nocursor
- Nun, da es funktioniert, kannst du es automatisch starten lassen: Suche in der Datei /etc/inittab nach einer Zeile wie dieser:
1:2345:respawn:/sbin/getty --noclear 38400 tty1
Kommentie sie mit einem vorangestellten „#“ aus und füge die folgende Zeile an sie an:
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
Schreibe ein Skript im Home-Verzeichnis startserver.sh:
#!/bin/bash cd ~ until xinit /home/pi/rs -- -nocursor; do echo "X Server crashed with exit code $?. Respawning.." >&2 sleep 1 done
Markiere sie dann als ausführbar:
chmod 755 startserver.sh sudo -s echo "pi ALL=NOPASSWD: /usr/bin/pkill" > /etc/sudoers.d/pi_pkill
Füge in der Datei /etc/rc.local die folgende Zeile direkt vor der Zeile mit „exit 0“ ein.
su -l pi -c "xinit ./rs -- -nocursor" su -l pi -c "/home/pi/startserver.sh"
Falls du nicht willst, dass der Bildschirm nach einer Weile leer ist, füge in /etc/X11/xinit/xinitrc und /etc/xdg/lxsession/LXDE/autostart die folgenden Zeilen ein:
xset s off # Bildschirmschoner nicht aktivieren xset -dpms # DPMS-Funktionen (Energy Star) deaktivieren xset s noblank # Videogerät nicht ausschalten
Wenn du mit dem NOOB-Installer installiert hast, könnte Autostart stattdessen /etc/xdg/lxsession/LXDE-pi/autostart sein. Wenn du die Zeile siehst
@xscreensaver -no-splash
setze ein # davor, um es auszukommentieren.
Hinzufügen eines Startbildschirms
Du kannst deinen eigenen Startbildschirm entwerfen oder einen von uns verwenden:
http://www.repetier-server.com/en/wp-content/uploads/2015/09/boot800x480.png
http://www.repetier-server.com/en/wp-content/uploads/2015/09/boot1024x600.png
http://www.repetier-server.com/en/wp-content/uploads/2015/09/boot1024x800.png
http://www.repetier-server.com/en/wp-content/uploads/2015/09/boot1280x800.png
Für Raspberry Pi:
Füge „quiet“ am Ende der Zeile von /boot/cmdline.txt hinzu. Sie sieht dann etwa so aus:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet
Installiere fbi:
sudo apt-get install fbi
Erzeuge die Datei /etc/init.d/asplashscreen
sudo nano /etc/init.d/asplashscreen
#! /bin/sh ### BEGIN INIT INFO # Provides: asplashscreen # Required-Start: # Required-Stop: # Should-Start: # Default-Start: S # Default-Stop: # Short-Description: Show custom splashscreen # Description: Show custom splashscreen ### END INIT INFO do_start () { echo 0 > /sys/class/graphics/fbcon/cursor_blink /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png exit 0 } case "$1" in start|"") do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) # No-op ;; status) exit 0 ;; *) echo "Usage: asplashscreen [start|stop]" >&2 exit 3 ;; esac
Lege dann Berechtigungen fest und aktivieren sie
sudo chmod a+x /etc/init.d/asplashscreen sudo insserv /etc/init.d/asplashscreen
Kopiere den Splash-Screen nach /etc/splash.png.
Starte den Rechner neu und du siehst deinen neuen Startbildschirm. Beim Booten werden 4-5 Zeilen angezeigt, die nicht entfernt werden können.