Forum: Mikrocontroller und Digitale Elektronik GUI auf Raspberry PI ohne X Server


von Philipp F. (philipp5054)


Lesenswert?

Hallo Zusammen,
ich wollte mal Fragen ob es eine Möglichkeit gibt (und wie diese 
aussieht eine GUI darzustellen ohne den X Server zu starten. Konkret 
geht es um eine Bedienoberfläche mit "ein paar Buttons" welche möglich 
schnell nach Power On angezeigt werden soll/muss. Diese kommuniziert 
dann mit der Außenweld über RS232 und ähnlichem.

Danke für die hoffentlichen vielen Beiträge vorab.

Gruß
  Philipp

von Alex S. (thor368)


Lesenswert?

Tach Philipp,

wenn es darum geht eine GUI schnell nach dem Start parat zu haben ist 
Linux echt problematisch. Entweder zu optimierst dir einen Wolf oder du 
löst dich von der Vorstellung Linux sei effizient.

Wie schnell muss die GUI den da sein?
Thor

von Mr Bean (Gast)


Lesenswert?

Also wenn nur der XServer nicht gestartet werden soll, kann man bei QT 
z.B. die embedded Variante wählen. Die sollte ohne XServer starten.
Wenn man dann den Bootprozess noch "abspeckt", sollte die GUI auch recht 
flott gebootet sein.

Gruß

Bean

von Urmel aus dem Eis (Gast)


Lesenswert?

Wenn du nicht qt einsetzt, kannst du dir auch directFB ankucken.

von Florian H. (heeen)


Lesenswert?

fbdev bzw linux framebuffer sind Stichwörter nach denen du mal suchen 
kannst.
Das ist das Interface über das beim booten auch der Pinguin bzw. die 
Himbere auf den Bildschirm kommen.

von SamSon (Gast)


Lesenswert?

Alex S. schrieb:
> oder du
> löst dich von der Vorstellung Linux sei effizient.

Begründung?
Alternativen?

von Uwe B. (boerge) Benutzerseite


Lesenswert?

ncurses-basierend: dialog

http://invisible-island.net/dialog/

von Philipp F. (philipp5054)


Lesenswert?

Hallo Zusammen,
danke erst ein mal für die vielen Tips.
Warum Linux?
Weil:
-Dateisystem
-Komplettes ETH "Zeugs"
-USB dank Linux "leicht nutzbar"
Warum Raspberry konkret?
Weil:
-Günstig
-geringer Formfaktor
-Einzelspannungsversorgung 5V
-mitlerweile schon weit verbreitet ;-)

Zur Starzeit wären 30 Sekunden bis zu bedienung wünschenswert. 1-3 
Minuten denke ich verkraftbar. Alles andere ungeeignet.
Werde heute Abend mal alles durch googeln.

Vielen Dank.
Gruß Philipp

von motsch (Gast)


Lesenswert?

also mein pi brauch ohne Optimierung mit raspian und autologin ca. 35 
s... würde ja in deinen Rahmen passen.

gruß motsch

von Olaf (Gast)


Lesenswert?

> Begründung?
> Alternativen?

Den Verdacht das Linux ineffizient sei, hat man seit einigen Jahren weil 
es immer mehr inkompetente Schwachcoder gibt die ohne tiefere Kenntnisse 
ein Linux zusammenbasteln um schnell ohne Kosten ein Geraet zu 
produzieren und dabei einfach nur Muell erzeugen.

Ich habe z.B seit kurzem das SEHR zweifelhafte Vergnuegen ein IP-Telefon 
von Cisco nutzen zu muessen das die Telefonnummern langsamer anzeigt als 
ich sie eintippen kann und auch sonst sehr traege ist und im inneren 
Linux verwendet. Da ist die Reaktionszeit meines HP48 mit 2Mhz 4Bit CPU 
besser!

Jetzt weiss man natuerlich als erfahrener Anwender das es besser geht, 
aber die meisten Menschen sind leider nur noch Opfer und leiden unter 
den Ergebnissen.

Oh..und wenn ich mir die heutigen Linuxdistributionen anschaue wo man 
nach einer Installation erst mal mehrere Tage braucht um den ganzen 
Klickibunti scheiss auf Normalmass zurechtzustutzen um ein 
Produktivsystem zu bekommen so foerdert das auch nicht gerade einen 
guten Eindruck.

Olaf (Erstkontakt 0.94a bevor es SLS gab, aktuell Scientific Linux)

ps: Wenn einer das hier auf den PI protiert dann kaufen ich mir auch 
einen:
http://xwinman.org/olvwm.php

von Christian B. (casandro)


Lesenswert?

Was Du machen kannst, ist den Bootvorgang auszutauschen. Dem Kernel 
kannst Du über die Kernelparameter mitgeben, welches Programm er als 
erstes ausführen soll. Wenn Du das auf /meinprogramm stellst, dann führt 
er /meinprogramm aus, ohne vorher was anderes auszuführen. Wenn du Dich 
selber um den Rest kümmerst. Damit kannst Du extrem kurze Bootzeiten 
erreichen, selbst mit X11.

Die Unixoiden Betriebssysteme sind nicht unbedingt dafür gemacht, dass 
sie schnell sind. Es geht da im Prinzip immer um die Balance zwischen 
einem flexiblen System und der Geschwindigkeit. Deshalb wird so viel wie 
möglich als Text gespeichert, nur da wo es wirklich notwendig ist, 
werden Binärdateien verwendet. Das Gerücht, dass Unix so effizient sei 
kommt vermutlich von der Konkurrenz. Unix war schon immer ziemlich 
offen. Deshalb konnten Hardwarehersteller das relativ einfach verwenden 
und an ihre Bedürfnisse anpassen. Besonders der hochpreisige 
"Workstation" Markt ging komplett auf Unix. Und da hast Du halt 
Hardware, deren Festplattencontroller DMA können. Unter DOS/Windows 
dauerte es ziemlich lange, bis DMA wirklich funktioniert hat. Somit 
konnte ein Rechner, wenn er nur genügend RAM hatte, unter einem 
unixoiden System deutlich flotter wirken.

Aber ja, schlechte und langsame Systeme kann man unter jedem 
Betriebssystem bauen. Wobei bestimmte Betriebssysteme schon bestimmte 
Leute anziehen.

von Joachim (Gast)


Angehängte Dateien:

Lesenswert?

Hier ist ein schönes Beispielprogramm für die Nutzung des Framebuffers, 
und obwohl dies von Qt ist - das Beispiel kommt ohne Qt aus.

https://doc.qt.io/archives/3.3/emb-framebuffer-howto.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.