Die Grundlage für dieses System bildet die Ubuntu Version von der Banana-Pi Webseite.
Auf mehrere Probleme bin ich bei der Inbetriebnahme gestoßen – der Monitor bliebt überhaupt dunkel, der Multitouch zum Zoomen und Scrollen funktionierte nicht, das Display konnte nicht um 90° gedreht werden und zu guter letzt machte nach dem Drehen der Mauszeiger noch Probleme! Die Achsen waren verdreht, eine Bewegung nach unten lies den Mauszeiger nach links wandern…
Hier nun die Einstellungen die bei mir zum Erfolg geführt haben
Damit beim Rechnerstart gleich ein User ohne Kennworteingabe angemeldet wird habe ich die Datei /etc/init/tty1.conf verändert
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]respawn
exec /bin/login -f pi < /dev/tty1 > /dev/tty1 2> /dev/tty1
Dadurch fällt mir zwar die erste Konsole weg, davon gibts aber sowieso mehrere – also nicht weiter tragisch. 🙂
Das tty1 startet also die Login Shell vom User „pi“ und darin liegt eine modifizierte .bashrc Datei an deren Ende ich nur folgene Zeile angefügt habe:
xinit
logout
Der Befehl xinit startet das X-Windows System und sollte sich der Prozess mal beenden wird automatisch ein logout ausgeführt.
Sobald das X-Windows System startet wird die Datei .xinitrc im Home Verzeichnis vom User pi ausgeführt, diese sieht wie folgt aus:
#!/bin/bash
export TERM=xterm
WINDOWMANAGER=“pekwm“exec $WINDOWMANAGER
exit 0
Hier wird „pekwm“ als Windowmanager definiert und entsprechend gestartet.
Der Window Manager „pekwm“ legt seine Config-Dateien im Unterverzeichnis .pekwm des Users pi an, die Datei „start“ muss ausführbar gemacht werden (chmod +x start) und bei mir sieht sie wie folgt aus:
xinput –set-prop „Quanta OpticalTouchScreen“ „Evdev Axis Inversion“ 0 1
xinput –set-prop „Quanta OpticalTouchScreen“ „Evdev Axes Swap“ 1sleep 1;/usr/bin/chromium-browser –start-maximized –kiosk –disable-about-in-settings –disable-account-consistency –disable-breakpad –disable-cloud-import –disable-drive-search-in-app-launcher –disable-extensions –disable-file-system –disable-offline-pages –disable-settings-window –disable-session-crashed-bubble &
while true; do
/usr/bin/x11vnc -display :0
done
Die ersten beiden Zeile dienen dazu den Mauszeiger umzuschalten sodass er nach dem Drehen des Bildschirms korrekt dem Finger folgt, je nachdem wie man den Bildschirm gedreht hat müssen die Werte angepasst werden.
Nach einer Pause von einer Sekunde wird dann der Chromium Browser im Kiosk Modus gestartet.
Am Ende des Scripts starte ich noch einen VNC Dienst, damit ich zu Fernwartungszwecken die Anzeige übertragen kann – das Ganze in einer Endlosschleife damit der VNC Dienst auch nach dem Beenden einer Wartung wieder aktiv wird.
Und jetzt kommen wir zur Konfigurtation des X-Servers, bei Ubuntu wird die Konfiguration aus dem Verzeichnis /usr/share/X11/xorg.conf.d geladen – entsprechend habe ich dort folgende Dateien erstellt:
01-fbturbo.conf
Section „Device“
Identifier „ProLite T2250MTS – iiyama“
Driver „fbturbo“
Option „fbdev“ „/dev/fb0“
Option „SwapbuffersWait“ „true“
Option „AccelMethod“ „G2D“
Option „rotate“ „CW“
Option „HWCursor“ „false“
EndSection
10-monitor.conf
Section „Monitor“
Identifier „Monitor0“
Modeline „1920×1080“ 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync -csync
EndSectionSection „Screen“
Identifier „Screen0“
Monitor „Monitor0“
DefaultDepth 24
Option „Rotate“ „left“
Option „RandRRotation“ „True“
SubSection „Display“
Depth 24
Modes „1920×1080“
EndSubSection
EndSection
50-multitouch.conf
Section „InputClass“
MatchIsTouchpad „true“
Identifier „Multitouch Touchpad“
Driver „multitouch“
Option „EmulateThirdButton“ „1“
Option „EmulateThirdButtonTimeout“ „750“
Option „EmulateThirdButtonThreshold“ „30“
EndSection
Eine Kleinigkeit gibts dann noch zu beachten, auf meinem System wurde der USB Touch vom Monitor erst sehr spät nach dem Booten erkannt – daher musste ich eine udev-Regel mit einbauen welche ein Script ausführt das die xinput Werte setzt!
/etc/udev/rules.d/10-local.rules
SUBSYSTEM==“input“, ACTION==“add“, KERNEL==“mouse0″, RUN+=“/usr/local/sbin/rotate_touch.sh“
Und hier der Inhalt des /usr/local/sbin/rotate_touch.sh Scripts:
#!/bin/sh
sleep 1
logger -t „touch“ „Versuche touch zu rotieren…“
export DISPLAY=:0
xinput –set-prop „Quanta OpticalTouchScreen“ „Evdev Axis Inversion“ 0 1
xinput –set-prop „Quanta OpticalTouchScreen“ „Evdev Axes Swap“ 1
Mit diesen Einstellungen läuft das System bei mir einwandfrei! Ein günstiges Kiosk System mit Multitouch – die Hardware kostet keine 300 Euro.
Viel Spaß beim Nachbasteln!
Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…
Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…
Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…
Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…
Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…
Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…
View Comments
Hallo,
tolles Projekt. Wissen Sie vielleicht ob dieser Bildschirm auch mit dem neuen RPI 3 inklusive Touch läuft.
Viele Grüße
Jens
Danke, was den RPI3 angeht kann ich leider keine Aussage treffen da ich ihn noch nicht in Händen hatte. Die größten Änderungen bei RPI3 betreffen aber WLAN, Bluetooth und den Prozessor - daher gehe ich eigentlich davon aus dass das Ganze auch mit dem 3'er funktionieren müsste.
Schöne Grüße
Manfred