![]() |
Bildausgabe ohne X-Window-System mit fbi/OMXPlayerProf. Jürgen Plate |
Auch, wenn keine grafische Oberfläche aktiv ist, können Bilder angezeigt werden. Um Bilder ohne Start des X-Servers anzuzeigen, kann das Kommandozeilen-Tool fbi ("framebuffer image viewing") verwendet werden. das Programm ist im Repository von Raspbian enthalten und kann mittels apt-get auf die übliche Weise installiert werden:
sudo apt-get install fbiIm einfachsten Anwendungsfall übergibt man dem Programm die anzuzeigende Bilddatei auf der Kommandozeile. Wie jedes ordentliche Linux-Kommand kann fbi auch mehr als eine Datei als Parameter haben:
fbi *.jpgDas obige Kommando zeigt alle JPG-Bilder, die im aktuellen Verzeichnis liegen. Mit den Tasten kann man vor und zurück blättern (siehe KEYS-Abschnitt der Manualseite). Die Option --edit erlaubt das Drehen der Bilder.
Sollte kein Bild kommen, sondern die Fehlermeldung "ioctl VT_GETSTATE: Invalid argument (not a linux console?)", obwohl Sie doch an der Konsole sitzen, ist die falsche Konsole eingestellt. Linux hat ja in der Regel mehrere Virtuelle Terminals, die mit der Tastenkombination [Ctrl]-[Alt]-[Fx] (F1 .. F6) angewählt werden können. Die Lösung besteht darin, das framebuffer device zu spezifizieren:
fbi -d /dev/fb0 ...Wenn Sie über SSH eingeloggt sind, versuchen Sie:
fbi -T 1 ...wobei -T 1 das erste virtuelle Terminal selektiert. Diese Option steht nicht in der Manualpage, wird aber beim Aufruf von fbi --help aufgelistet.
Damit können Sie beispielsweise auch bereits beim Bootvorgang ein Bild darstellen, den sogenannten Splashscreen. Nun brauchen Sie noch ein Bild (oder auch mehrere). Wichtig ist dabei, dass es der Auflösung des Monitors entspricht. Für die Anwendung als Splashscreen genügt die folgende Kommandozeile in der Datei /etc/rc.local.
/usr/bin/fbi -T 1 -noverbose -a -t 10 --once /etc/testbild.gif &Der Parameter "-a" sorgt gegebenenfalls für die Anpassung des Bildes an die Monitorgröße (autozoom). Der Parameter "-T 1" sagt dem fbi, welche virtuelle Console für die Ausgabe verwendet werden soll. Mittels --nonverbose kann das Onscreen-Menü von fbi unterdrückt werden.
Das Programm fbi kann aber noch viel mehr. Gibt man eine Dateiliste oder Jokerzeichen für den Dateiname an, wird eine Diashow dargeboten. Die Anzeigedauer für jedes Bild kann dabei ebenso festgelegt werden, wie die Bildauswahl.
# -t 30 => 30 Sekunden Pause nach jedem Bild # -a Autozoom einschalten # -u Reihenfolge der angezeigten Dateie zufällig wählen # sonst nimmt fbi die Reihenfolge der Dateinamen fbi -noverbose -u -a -t 30 /home/pi/Bilder/*.jpgNach der Anzeige des letzten Bildes geht es wieder von vorne los. Wenn Sie das nicht wollen, fügen Sie den Parameter "-1" bzw. "--once" hinzu. Letzteres eröffnet weitere Möglichkeiten. Wenn man per fbi eine Slideshow immer nur einmal durchlaufen läßt, aber diesen Aufruf in einem Shellskript ausführt, kann man mit anderen Prozessen (z. B. per scp-Upload) die Bilder austauschen oder um weitere Bilder erweitern. Nach jedem Durchlauf wird die neue Konstellation angezeigt. Das folgende Beispiel soll dies illustrieren.
#!/bin/bash while : do fbi -noverbose -a -t 10 --once /home/pi/Bilder/*.jpg # hier eventuell weitere Programme aufrufen, die neue # Bilder erzeugen, z. B. gnuplot doneWill man keine Schleife machen, die alle 10 Sekunden die Ausgabe aktualisiert, kann man den fbi auch gezielt beenden und anschließend wieder neu starten, damit er die geänderten Bilder (oder ganz andere) anzeigt:
... # zuerst alle PIDs suchen und in einer # Shell-Variablen speichern: PIDS=$(ps -C fbi -o pid=) # falls gefunden (fbi laeuft noch) killen: if [ -n "$PIDS" ] then # Signal senden: bitte beenden kill -HUP $PIDS > /dev/null 2>&1 sleep 3 # fuer hartnaeckige Faelle kill -9 $PIDS > /dev/null 2>&1 fi ... # hier fbi neu starten ...
fbi kennt noch viele weitere Steuerungsmöglichkeiten, die Sie aus dem folgenden Auszug der Manualpage entnehmen können:
Das Tool "Fbida" verbindet zwei Programme, "fbi" und "ida". "fbi" zeigt Bilder auf der Console ohne X und "ida" läuft auf dem X-Window-System. Sie teilen sich sowieso gemeinsame Bild-Dekodierungs-Bibliotheken, so hat der Entwickler von "fbida" naheliegenderweise die beiden Programme verschmolzen. Auch dieses Paket ist im Standard-Repository enthalten und kann per "apt-get" installiert werden.
usermod -a -G video pi
midori -i 120 -e Fullscreen -a http://www.... -p oder chromium --kiosk --incognito http://www....
Ähnlich einfach wie der fbi arbeitet der . Um ein MP4-Video zu zeigen, genügt der Aufruf
omxplayer -b video.mp4Die Option -b löscht den Bildschirm ("blank"), sonst sieht man eventuell noch Terminal-Texte etc. Mittels --loop kann man das Vidoe in einer Endlosschleife laufen lassen. Ja nach Orientierung des Displays kann mit der Option --orientation [winkel] das Bild gedreht werden. Für den Winkel sind die Werte 0, 90, 180 und 270 möglich.