IServ-Infodisplay: Unterschied zwischen den Versionen

Aus LT42-Wiki
Zur Navigation springenZur Suche springen
K Resume after Crash // Overscan
KKeine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:
Unabhängig davon sind die Infodisplay allen Benutzern sichtbar, die das Recht "Infobildschirme verwalten" zugewiesen bekommen haben.
Unabhängig davon sind die Infodisplay allen Benutzern sichtbar, die das Recht "Infobildschirme verwalten" zugewiesen bekommen haben.


Im [[d:IServ|Debacher-Wiki]] findet sich eine Anleitung, wie ein normaler Windows-Rechner als Infodisplay konfiguriert werden kann.
Beim Umrüsten von bestehenden Displays, z.B. mit embedded Geräten, habe ich mit dem IServ-Infodisplay sehr gute Erfahrungen gemacht. Im [[d:IServ|Debacher-Wiki]] findet sich eine Anleitung, wie ein normaler Windows-Rechner als Infodisplay konfiguriert werden kann, davon ist aber seit einigen Jahren abzuraten. Für den schmalen Taler gibt es einen Raspberry Pi, der mit der folgenden Anleitung auch zum Display umfunktioniert werden kann. Der Pi eignet sich perfekt als Infodisplay, da der Stromverbrauch mehr als verkraftbar ist.


== Raspberry Pi als Infobildschirm ==
Der [[Raspberry Pi]] ist ein spannender Computer. Für sehr wenig Geld (~60 Euro) erhält man einen inzwischen schon recht leistungsstarken Kleinstcomputer.


Dieser eignet sich natürlich perfekt als Infodisplay, da der Stromverbrauch mehr als verkraftbar ist.
== Raspberry Pi als Infobildschirm mit Chromium ==
Im Gegensatz zur unten angegebenen Config über Firefox ist die Installation mit Chromium einfacher umzusetzen. Zuerst beziehen wir das [https://www.raspberrypi.org/downloads/raspberry-pi-os/ aktuelle Raspberry Pi OS] und kopieren es [https://www.raspberrypi.org/documentation/installation/installing-images/README.md wie beschrieben] auf eine SD-Karte. Diese muss natürlich vorher in fat32 formatiert werden.


Auf dem Pi installieren wir nach der Installation von Raspbian das Paket Iceweasel (Firefox) nach:
Nach dem Start des Pis wird zuerst das System entpackt und eingerichtet. Nach dem ersten Start müssen einige Parameter gesetzt werden. Es sollte ein passender Hostname (zum Beispiel an der IP-Adresse orientiert: raspi12) gesetzt werden. Dazu kriegt der Benutzer pi ein Kennwort und unter "Interfaces" müssen der SSH- und VNC-Server aktiviert werden, damit später ein Zugriff aus dem lokalen Netz möglich ist.
  apt-get update
 
  apt-get install iceweasel
Nun ist der Raspi aus dem Netz erreichbar. Für einen Zugriff auf die Kommandozeile dient zB PuTTY für Windows. Über SSH ist der Pi dann unter Angabe der IP-Adresse erreichbar. Ein Login ist dann mit dem Nutzernamen pi und dem vergebenen Passwort möglich.
 
=== Chromium und Autostart ===
Damit der Raspi nun beim Start auch den Infobildschirm anzeigt, müssen wir eine autostart-Datei erstellen:
nano /home/pi/autostart.sh
 
mit folgendem Inhalt:
  /usr/bin/chromium-browser --kiosk http://iserv/iserv/public/infodisplay/
 
Anschließend speichern und ausführbar machen:
  chmod 0775 /home/pi/autostart.sh


Nach einem Start von Iceweasel setzen wir dann das Infodisplay als Startseite:
Danach wird die Datei im Autostart-Bereich des Nutzers verlinkt:
  http://iserv/idesk/infodisplay/
  nano /home/pi/.config/autostart/autostart.desktop


Diese relativ allgemeine URL bietet uns später die Möglichkeit, individuell im IDesk auszuwählen, welcher Infobildschirm angezeigt werden soll. Dafür muss der Raspberry Pi als Rechner in der Rechnerverteilung installiert sein und zusätzlich unter Infobildschirm -> Verwalten -> Anzeigegeräte hinzugefügt werden. Es ist auch möglich, zum Beispiel morgens einen anderen Infobildschirm anzuzeigen, als nachmittags.
mit folgendem Inhalt:


In Iceweasel installieren wir nach dem Hinzufügen der Startseite dann die Extension r-kiosk nach, die leider nur noch direkt über die [https://addons.mozilla.org/de/firefox/addon/r-kiosk/ Firefox-Respository] installiert werden kann. (Wichtig: Danach muss Iceweasel für Änderungen über die Konsole gekillt und anschließend im abgesicherten Modus gestartet werden. Also bitte alles kontrollieren!)
[Desktop Entry]
Name=Autostart
Exec=/bin/bash /home/pi/autostart.sh
Type=application


Es empfiehlt sich noch zu konfigurieren, dass Iceweasel nach einem Absturz (zum Beispiel ein Killen über die Konsole) nicht die Restore-Seite, sondern unsere Startseite anzeigt. Dafür korrigieren wir unter
Nach einem Neustart sollte Chromium beim Start mitstarten.
about:config
Hier folgt der Befehl zum Start von Chromium im Kiosk-Modus (Vollbild, keine Eingabe):
den Wert von
browser.sessionstore.resume_from_crash
von true auf false (durch einen einfachen Doppelklick)


Ist das geschehen, müssen wir noch den Bildschirmschoner deaktivieren und Iceweasel in den Autostart (/etc/xdg/lxsession/LXDE/autostart) mit aufnehmen:
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@/usr/bin/iceweasel


=== Energie sparen ===
=== Energie sparen ===
Zeile 52: Zeile 56:


  #!/bin/bash
  #!/bin/bash
  /usr/bin/tvservice --preferred; fbset -depth 8; fbset -depth 16; xrefresh -d :0.0
  #/usr/bin/tvservice --explicit="DMT 51 DVI" && chvt 1 && chvt 7
/usr/bin/tvservice -p && chvt 1 && chvt 7
 
Die erste Version ist besonders für Monitore gedacht, die per HDMI-auf-DVI-Adapter an den Pi angeschlossen sind. Hier muss man je nach Monitor oft eine Auflösung erzwingen, da die Adapter das Signal verunstalten, sodass der Pi nicht mehr ordentlich erkennen kann, welche Auflösung die Beste ist. Die möglichen Modi finden sich [http://elinux.org/RPiconfig#Video_mode_options hier]. Wichtig ist, dass man nach dem Starten des TV-Services einmal auf die 1. Konsole und dann zurück auf die grafische wechselt, sonst bleibt der Bildschirm schwarz. (http://pi-buch.info/?p=413)
 
Die Änderungen müssen zudem einmal in
sudo vi /boot/config.txt
vorgenommen werden. Hier setzt man
hdmi_drive=1 für Normal DVI mode (No sound)
hdmi_group=2 für DMT (in meinem Fall präferiert)
# und einen entsprechenden Modus
hdmi_mode=51
(Genaue Werte siehe http://elinux.org/RPiconfig#Video_mode_options)
 
Danach sollte der Pi sowohl beim Start als auch beim Ausführen der Skripte die richtige Auflösung anzeigen (Bitte auch [[#Overscan]] beachten!).
 
=== Bildschirmschoner abschalten ===
 
Zu dem sollte der Bildschirmschoner deaktiviert werden:
sudo vi /etc/X11/xinit/xinitrc
 
#!/bin/sh
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)
xset s off        # aktiviert keinen Bildschirmschoner
xset -dpms        # deaktiviert DPMS (Energy Star) Features.
xset s noblank    # deakviviert blank the video device
# invoke global X session script
. /etc/X11/Xsession
 
und
sudo vi etc/kbd/config
 
BLANK_TIME=0
 
(vgl. [[d:IServ|Debacher-Wiki]]
 
In neueren Versionen von Raspbian reicht auch eine Anpassung von /home/pi/.config/lxsession/LXDE-pi/autostart
 
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
#@point-rpi
@/usr/bin/iceweasel
@xset s off
@xset -dpms
@xset s noblank
 
=== Crontab ===


Den Crontab konfigurieren wir am Besten als Benutzer root:
Den Crontab konfigurieren wir am Besten als Benutzer root:
Zeile 66: Zeile 121:
  sudo raspi-config
  sudo raspi-config
und schalten unter Adavnced Options -> Overscan auf "Disable". Nach einem Neustart sollte der Pi der Bild voll ausfüllen.
und schalten unter Adavnced Options -> Overscan auf "Disable". Nach einem Neustart sollte der Pi der Bild voll ausfüllen.
== Raspberry Pi als Infobildschirm mit Firefox ==
Auf dem Pi installieren wir nach der Installation von Raspbian das Paket Iceweasel (Firefox) nach:
apt-get update
apt-get install iceweasel
Nach einem Start von Iceweasel setzen wir dann das Infodisplay als Startseite:
http://iserv/idesk/infodisplay/
Die URL hat sich mit der v3 leicht abgewandelt: http://iserv/iserv/public/infodisplay/
Diese relativ allgemeine URL bietet uns später die Möglichkeit, individuell im IDesk auszuwählen, welcher Infobildschirm angezeigt werden soll. Dafür muss der Raspberry Pi als Rechner in der Rechnerverteilung installiert sein und zusätzlich unter Infobildschirm -> Verwalten -> Anzeigegeräte hinzugefügt werden. Es ist auch möglich, zum Beispiel morgens einen anderen Infobildschirm anzuzeigen, als nachmittags.
In Iceweasel installieren wir nach dem Hinzufügen der Startseite dann die Extension r-kiosk nach, die leider nur noch direkt über die [https://addons.mozilla.org/de/firefox/addon/r-kiosk/ Firefox-Respository] installiert werden kann. (Wichtig: Danach muss Iceweasel für Änderungen über die Konsole gekillt und anschließend im abgesicherten Modus gestartet werden. Also bitte alles kontrollieren!)
Es empfiehlt sich noch zu konfigurieren, dass Iceweasel nach einem Absturz (zum Beispiel ein Killen über die Konsole) nicht die Restore-Seite, sondern unsere Startseite anzeigt. Dafür korrigieren wir unter
about:config
den Wert von
browser.sessionstore.resume_from_crash
von true auf false (durch einen einfachen Doppelklick)
Ist das geschehen, müssen wir noch den Bildschirmschoner deaktivieren und Iceweasel in den Autostart (/home/pi/.config/lxsession/LXDE-pi/autostart) mit aufnehmen:
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@/usr/bin/iceweasel

Aktuelle Version vom 3. August 2020, 18:40 Uhr

Der Schulserver IServ bietet viele spannende Funktionen. Eine davon ist das Infodisplay, welches Informationen und Pläne (z.B. Vertretungspläne) nach Bedarf anzeigt. Dabei kann man den Zugriff in vier verschiedene Stufen einschränken:

  • nicht sichtbar (z.B. für Test-Zwecke)
  • Nur über geheime URL (IServ gibt dann einen Link aus, über den das Infodisplay erreichbar ist)
  • Nur im lokalen Netz (wird allen Benutzern des IDesk angezeigt, wenn diese sich im lokalen Netz befinden, also auf einem Rechner im Schulnetz angemeldet sind)
  • Öffentlich (für alle Benutzer auch ohne Anmeldung, auch Zuhause, weltweit öffentlich, sichtbar)

Unabhängig davon sind die Infodisplay allen Benutzern sichtbar, die das Recht "Infobildschirme verwalten" zugewiesen bekommen haben.

Beim Umrüsten von bestehenden Displays, z.B. mit embedded Geräten, habe ich mit dem IServ-Infodisplay sehr gute Erfahrungen gemacht. Im Debacher-Wiki findet sich eine Anleitung, wie ein normaler Windows-Rechner als Infodisplay konfiguriert werden kann, davon ist aber seit einigen Jahren abzuraten. Für den schmalen Taler gibt es einen Raspberry Pi, der mit der folgenden Anleitung auch zum Display umfunktioniert werden kann. Der Pi eignet sich perfekt als Infodisplay, da der Stromverbrauch mehr als verkraftbar ist.


Raspberry Pi als Infobildschirm mit Chromium

Im Gegensatz zur unten angegebenen Config über Firefox ist die Installation mit Chromium einfacher umzusetzen. Zuerst beziehen wir das aktuelle Raspberry Pi OS und kopieren es wie beschrieben auf eine SD-Karte. Diese muss natürlich vorher in fat32 formatiert werden.

Nach dem Start des Pis wird zuerst das System entpackt und eingerichtet. Nach dem ersten Start müssen einige Parameter gesetzt werden. Es sollte ein passender Hostname (zum Beispiel an der IP-Adresse orientiert: raspi12) gesetzt werden. Dazu kriegt der Benutzer pi ein Kennwort und unter "Interfaces" müssen der SSH- und VNC-Server aktiviert werden, damit später ein Zugriff aus dem lokalen Netz möglich ist.

Nun ist der Raspi aus dem Netz erreichbar. Für einen Zugriff auf die Kommandozeile dient zB PuTTY für Windows. Über SSH ist der Pi dann unter Angabe der IP-Adresse erreichbar. Ein Login ist dann mit dem Nutzernamen pi und dem vergebenen Passwort möglich.

Chromium und Autostart

Damit der Raspi nun beim Start auch den Infobildschirm anzeigt, müssen wir eine autostart-Datei erstellen:

nano /home/pi/autostart.sh

mit folgendem Inhalt:

/usr/bin/chromium-browser --kiosk http://iserv/iserv/public/infodisplay/

Anschließend speichern und ausführbar machen:

chmod 0775 /home/pi/autostart.sh

Danach wird die Datei im Autostart-Bereich des Nutzers verlinkt:

nano /home/pi/.config/autostart/autostart.desktop

mit folgendem Inhalt:

[Desktop Entry]
Name=Autostart
Exec=/bin/bash /home/pi/autostart.sh
Type=application

Nach einem Neustart sollte Chromium beim Start mitstarten. Hier folgt der Befehl zum Start von Chromium im Kiosk-Modus (Vollbild, keine Eingabe):


Energie sparen

Das Bild muss nicht die ganze Nacht laufen, deshalb benutzen wir zwei Shell-Scripte, die per Crontab aufgerufen werden. (Quelle: Debacher-Wiki/IServ)

Die Shell-Skripte erstellen wir einfach mit VIM oder einem anderen Editor.

Ausschalten (/home/pi/monitor-aus.sh)

vi /home/pi/monitor-aus.sh
#!/bin/bash
/usr/bin/tvservice --off

Einschalten (monitor-an.sh)

vi /home/pi/monitor-an.sh
#!/bin/bash
#/usr/bin/tvservice --explicit="DMT 51 DVI" && chvt 1 && chvt 7 
/usr/bin/tvservice -p && chvt 1 && chvt 7

Die erste Version ist besonders für Monitore gedacht, die per HDMI-auf-DVI-Adapter an den Pi angeschlossen sind. Hier muss man je nach Monitor oft eine Auflösung erzwingen, da die Adapter das Signal verunstalten, sodass der Pi nicht mehr ordentlich erkennen kann, welche Auflösung die Beste ist. Die möglichen Modi finden sich hier. Wichtig ist, dass man nach dem Starten des TV-Services einmal auf die 1. Konsole und dann zurück auf die grafische wechselt, sonst bleibt der Bildschirm schwarz. (http://pi-buch.info/?p=413)

Die Änderungen müssen zudem einmal in

sudo vi /boot/config.txt

vorgenommen werden. Hier setzt man

hdmi_drive=1 für Normal DVI mode (No sound)
hdmi_group=2 für DMT (in meinem Fall präferiert)
# und einen entsprechenden Modus
hdmi_mode=51

(Genaue Werte siehe http://elinux.org/RPiconfig#Video_mode_options)

Danach sollte der Pi sowohl beim Start als auch beim Ausführen der Skripte die richtige Auflösung anzeigen (Bitte auch #Overscan beachten!).

Bildschirmschoner abschalten

Zu dem sollte der Bildschirmschoner deaktiviert werden:

sudo vi /etc/X11/xinit/xinitrc
#!/bin/sh

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

xset s off         # aktiviert keinen Bildschirmschoner
xset -dpms         # deaktiviert DPMS (Energy Star) Features.
xset s noblank     # deakviviert blank the video device
# invoke global X session script
. /etc/X11/Xsession

und

sudo vi etc/kbd/config
BLANK_TIME=0

(vgl. Debacher-Wiki

In neueren Versionen von Raspbian reicht auch eine Anpassung von /home/pi/.config/lxsession/LXDE-pi/autostart

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
#@point-rpi
@/usr/bin/iceweasel
@xset s off
@xset -dpms
@xset s noblank

Crontab

Den Crontab konfigurieren wir am Besten als Benutzer root:

sudo crontab -e

Hierbei ist es wichtig, das Display anzugeben (-d :0.0) Dann binden wir die Scripte in Crontab zu schultypischen Uhrzeiten ein:

# m h dom mon dow command
00 20 * * * /home/pi/monitor-aus.sh
00 07 * * * /home/pi/monitor-an.sh

Overscan

Falls das Bild des Pis den Bildschirm nicht komplett ausfüllt, kann folgende Einstellung Abhilfe schaffen. Wir rufen in der Shell folgenden Befehl auf:

sudo raspi-config

und schalten unter Adavnced Options -> Overscan auf "Disable". Nach einem Neustart sollte der Pi der Bild voll ausfüllen.

Raspberry Pi als Infobildschirm mit Firefox

Auf dem Pi installieren wir nach der Installation von Raspbian das Paket Iceweasel (Firefox) nach:

apt-get update
apt-get install iceweasel

Nach einem Start von Iceweasel setzen wir dann das Infodisplay als Startseite:

http://iserv/idesk/infodisplay/

Die URL hat sich mit der v3 leicht abgewandelt: http://iserv/iserv/public/infodisplay/

Diese relativ allgemeine URL bietet uns später die Möglichkeit, individuell im IDesk auszuwählen, welcher Infobildschirm angezeigt werden soll. Dafür muss der Raspberry Pi als Rechner in der Rechnerverteilung installiert sein und zusätzlich unter Infobildschirm -> Verwalten -> Anzeigegeräte hinzugefügt werden. Es ist auch möglich, zum Beispiel morgens einen anderen Infobildschirm anzuzeigen, als nachmittags.

In Iceweasel installieren wir nach dem Hinzufügen der Startseite dann die Extension r-kiosk nach, die leider nur noch direkt über die Firefox-Respository installiert werden kann. (Wichtig: Danach muss Iceweasel für Änderungen über die Konsole gekillt und anschließend im abgesicherten Modus gestartet werden. Also bitte alles kontrollieren!)

Es empfiehlt sich noch zu konfigurieren, dass Iceweasel nach einem Absturz (zum Beispiel ein Killen über die Konsole) nicht die Restore-Seite, sondern unsere Startseite anzeigt. Dafür korrigieren wir unter

about:config

den Wert von

browser.sessionstore.resume_from_crash

von true auf false (durch einen einfachen Doppelklick)

Ist das geschehen, müssen wir noch den Bildschirmschoner deaktivieren und Iceweasel in den Autostart (/home/pi/.config/lxsession/LXDE-pi/autostart) mit aufnehmen:

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@/usr/bin/iceweasel