mikrocontroller.net

Forum: PC-Programmierung Raspi mit Minimalinstallation: Bild auf HDMI anzeigen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von plopp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe eine einfache Frage:

Ich bastele mit einem alten Raspi ohne GUI gerade (per ssh). Gibt es 
eine einfache Möglichkeit, per script ein Bild auf dem HDMI-Ausgang 
anzuzeigen? (Also ohne die ganze GUI nachzuinstallieren)

Alle Beispiele, die ich ergoogelt habe, waren immer mit GUI..?

von ich (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Georg A. (georga)


Bewertung
0 lesenswert
nicht lesenswert
plopp schrieb:
> Alle Beispiele, die ich ergoogelt habe, waren immer mit GUI..?

Da muss man etwas aufpassen, weil dank Windows die Definition GUI leider 
total ruiniert ist und "alles" umfasst ;)

Bei X Window reicht es, wenn man nur den X-Server startet und dann zB. 
dessen Hintergrundbild setzt. Einen Window-Manager und insb. einen 
Login-Screen (lightdm, sddm, kdm, ...) braucht es nicht und man muss das 
auch deaktivieren.

Aber dann gehts dann einfach: In /etc/X11/Xwrapper.config folgende 
Zeilen rein:
allowed_users=anybody
needs_root_rights=yes 
Damit muss man als non-root-User /usr/bin/startx des X-Server starten 
können.

Dann noch schnell einen systemd-Service (zB. 
/etc/systemd/system/kiosk.service ):
[Unit]
Description=Kiosk Launcher
After=systemd-user-sessions.service

[Service]
User=user
ExecStart=/usr/bin/startx
Restart=always

[Install]
WantedBy=multi-user.target

Aktivieren mit "systemctl daemon-reload; systemctl enable kiosk"

Im Home-Verzeichnis von user dann ein ausführbares Shellskript 
~/.xsession:
xrandr -s 1920x1080    # Auflösung erzwingen
xset s off             # Screensaver aus
xsetroot -bitmap xyz.xbm   # xbm zB. mit gimp erzeugt
while true; do
  sleep 60       # Oder irgendwas anderes, was das Skript NICHT beendet
done

Zack, fertig ist der Minimal-Kioskmodus. Man kann natürlich auch alles 
andere grafische Zeug starten, aber ohne Windowmanager wird es 
schwierig, normale Programme auch vernünftig zu bedienen.

BTW: Wir betreiben so Anzeigebildschirme in Foyers etc. Allerdings läuft 
da ein Caspar-CG drauf, der verschiedene Anzeigelayer (Bilder, 
Webseiten, Videos) zusammenbringt, damit sich etwas rührt...

: Bearbeitet durch User
von plopp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, sehr beeindruckend, das werde ich ausprobieren!

Georg A. schrieb:
> needs_root_rights=yes
> Damit muss man als non-root-User /usr/bin/startx des X-Server starten
> können.

sollte es dann nicht "no" statt yes heißen?

Georg A. schrieb:
> xsetroot -bitmap xyz.xbm   # xbm zB. mit gimp erzeugt

schade dass er kein jpg beherrscht..

von Chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kiosk? So? Ohne Worte.

Das Zauberwort heißt fbi.

MfG

von Georg A. (georga)


Bewertung
0 lesenswert
nicht lesenswert
plopp schrieb:
> sollte es dann nicht "no" statt yes heißen?

Laut Man-page:
"Configure if the wrapper should drop its elevated (root) rights before 
starting the X server. Use yes to force execution as root, no to force 
execution with all suid rights dropped, and auto to let the wrapper 
auto-detect. The default is auto."

Hängt etwas an den Grafiktreibermodulen, .xsession wird dann schon mit 
normalen User-Rechten gestartet.

> schade dass er kein jpg beherrscht..

Imagemagic (=display) kann da sicher was auch mit 
Background/Root-Window, dann geht alles an Bild-Formaten. Hab ich jetzt 
nicht ausprobiert, bei uns läuft halt Caspar-CG, das macht dann alles 
inkl. Überblendeffekten, etc.

Du kannst natürlich in der while-Schleife auch die Bilder durchwechseln 
oder mit xclock eine Uhr anzeigen ;) Prinzipiell gehen natürlich alle 
X-Programme, aber ohne Windowmanager muss man deren Position per 
Kommandozeile (-geometry oder so) erzwingen.

Chris schrieb:
> Das Zauberwort heißt fbi.

Spätestens wenn man etwas mehr will, wirds mit reinem Framebuffer sehr 
mühsam.

von Chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Georg A. schrieb:
> Chris schrieb:
>> Das Zauberwort heißt fbi.
>
> Spätestens wenn man etwas mehr will, wirds mit reinem Framebuffer sehr
> mühsam.

Die Frage war:

plopp schrieb:
> Hi, ich habe eine einfache Frage:
>
> Ich bastele mit einem alten Raspi ohne GUI gerade (per ssh). Gibt es
> eine einfache Möglichkeit, per script ein Bild auf dem HDMI-Ausgang
> anzuzeigen? (Also ohne die ganze GUI nachzuinstallieren)
>
> Alle Beispiele, die ich ergoogelt habe, waren immer mit GUI..?

MfG

von Georg A. (georga)


Bewertung
0 lesenswert
nicht lesenswert
Chris schrieb:
> Die Frage war:

Der Appetit kommt mit dem Essen ;)

von Oliver R. (superberti)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

Stichworte sind libSDL2 und libjpeg. Mehr braucht es nicht.

Gruß
Oliver

von Abyssaler Einspeiser (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Frueher gab es noch Testprogramme fuers HDMI.
Vielleicht mal in einer alten Version danach stoebern.

> aber ohne Windowmanager

Ein wm2 traegt kaum auf.

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Oliver R. schrieb:
> Stichworte sind libSDL2 und libjpeg. Mehr braucht es nicht.

Doch. Man braucht noch ein Programm, das die beiden nutzt, um das Bild 
dann anzuzeigen.

von Sheeva P. (sheevaplug)


Bewertung
0 lesenswert
nicht lesenswert
Chris schrieb:
> Kiosk? So? Ohne Worte.
>
> Das Zauberwort heißt fbi.

Oder fim [1].

[1] https://www.nongnu.org/fbi-improved/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.