Wenn man einen Raspberry z.B. in einer Museums-Anwendung oder als Steuerung eines Automaten verwendet, kommt es irgendwie blöd, wenn der ahnungslose Nutzer plötzlich Hinweise eingeblendet bekommt wie - es wurde eine VNC-Verbindung geöffnet/geschlossen - es stehen Updates bereit - Betriebsspannung zu niedrig usw. Gibts in Raspian EINE zentrale Stelle, wo man sowas unterbinden kann, oder muss man jedes einzelne Problem mit einer Console-Orgie "behandeln" (für die es nach meinen bisherigen Erfahrungen jeweils mindestens 25 Lösungen gibt, von denen aber 23 gerade unter diesen Umständen nicht funktionieren)? Danke für Tips.
:
Bearbeitet durch User
Für sowas würde ich die Desktop-Umgebung einfach komplett weglassen und das Programm direkt auf dem X-Server laufen lassen.
Rolf M. schrieb: > Für sowas würde ich die Desktop-Umgebung einfach komplett > weglassen und > das Programm direkt auf dem X-Server laufen lassen. Kann man das auch mit Programmen tun, die eigentlich für den Desktop gemacht sind? (Ohne den Code zu ändern)
Frank E. schrieb: > Rolf M. schrieb: >> Für sowas würde ich die Desktop-Umgebung einfach komplett >> weglassen und >> das Programm direkt auf dem X-Server laufen lassen. > > Kann man das auch mit Programmen tun, die eigentlich für den Desktop > gemacht sind? (Ohne den Code zu ändern) Klar. Einfach den Windowmanager abschalten und direkt über xinit starten. In der Datei .xinitrc kannst Du auch mehrere Programme starten. Das Beenden des letzten Programms beendet dann auch den X-Server. Fenster verschieben und in der Größe ändern ist dann natürlich schwierig.
Frank E. schrieb: > Kann man das auch mit Programmen tun, die eigentlich für den Desktop > gemacht sind? (Ohne den Code zu ändern) Wenn das eine Anwendung ist, die genau ein Fenster aufmacht, das dann quasi full-screen laufen soll, dann sollte das so gehen. Falls es mehrere Fenster aufmacht bzw. irgendwelche Dialoge anzeigt, bräuchte man zusätzlich noch einen Window-Manager.
Ich würde einfach Testen ob es der Anwendung reicht wenn sie auf xinitrc direkt auf einem nackten X gestartet wird. Ansonsten könnte man sie innerhalb einer leeren Openbox- oder twm-Session starten. Auf einem Raspi starte ich feh bzw. vlc in einer ansonsten leeren Openbox-Session im Fullscreen-Mode. Das klappt eigentlich ganz gut.
:
Bearbeitet durch User
Hier wird ein sauberer Start bis zur Applikation demonstriert (unter Zuhilfenahme des Frame Buffer Interfaces): https://www.youtube.com/watch?v=m3rfls00OtY Läuft so hier auf einigen Maschinen(zusatz)steuerungen.
Chris D. schrieb: > Hier wird ein sauberer Start bis zur Applikation demonstriert (unter > Zuhilfenahme des Frame Buffer Interfaces) Das geht so allerdings nicht mit normalen Desktop-Applikationen, sondern nur mit welchen, die eben speziell für das fbdev gemacht sind.
Frank E. schrieb: > - Betriebsspannung zu niedrig Die Raspis sind empfindlich im Bezug auf niedrige Versorgungsspannungen. Mir sind schon welche abgestürzt, wenn ich einen USB-Stick angesprochen habe. Diese Meldung würde ich sehr ernst nehmen und ein ausreichendes Netzteil kaufen.
Rolf M. schrieb: > Chris D. schrieb: >> Hier wird ein sauberer Start bis zur Applikation demonstriert (unter >> Zuhilfenahme des Frame Buffer Interfaces) > > Das geht so allerdings nicht mit normalen Desktop-Applikationen, sondern > nur mit welchen, die eben speziell für das fbdev gemacht sind. Das geht auch per X-Server, also mit "normalen" Applikationen (so wie oben beschrieben). Klappt hier einwandfrei. Das fbi benötigt man dann nur für die Startgrafik während des Bootens. PittyJ schrieb: > Diese Meldung würde ich sehr ernst nehmen und ein ausreichendes Netzteil > kaufen. Das auf jeden Fall. Hier werden die RaspPis über eigene kleine Meanwells im Schaltschrank versorgt, die auf 5,1V eingestellt werden. Zusätzlich gibt es einen ordentlichen Pufferkondensator direkt am Eingang (2200µ). Seitdem hatten wir auch in gestörter Umgebung noch keinen einzigen Aussetzer. Langzeitaufzeichnung der Spannung ist auch unauffällig gewesen.
:
Bearbeitet durch Moderator
Was sind deine Anwendungen denn genau? Ggf hast du auch einfach nur die falsche Distribution? Raspbian richtet sich eher an den Desktop Nutzer/Tinkerer, ggf. wäre eine Distribution für embedded Geräte die bessere Wahl? Board Enablement für den Raspberry Pi gibt es sowohl von Yocto als auch Ubuntu Core bereits fertig. Da würde nicht all zu viel Arbeit anfallen. Ggf. ist dein Raspbian auch einfach nur das falsche Betriebssystem? Gerade Ubuntu Core kann eine relativ angenehme Lösung sein da man sehr viel hinsichtlich Updates bereits gelöst bekommt durch den Hersteller. Gerade in Hinsicht auf CVE sehr sehr bequem automatisierbar...
Chris D. schrieb: >> Das geht so allerdings nicht mit normalen Desktop-Applikationen, sondern >> nur mit welchen, die eben speziell für das fbdev gemacht sind. > > Das geht auch per X-Server, also mit "normalen" Applikationen (so wie > oben beschrieben). Klappt hier einwandfrei. Ja, klar. Ich wollte nur darauf hinweisen, dass das Video die Inbetriebnahme einer Applikation zeigt, die eben keine "normale Desktop-Applikation" ist. Mit X-Server sieht der letzte Schritt etwas anders aus.
Chris D. schrieb: > Einfach den Windowmanager abschalten und direkt über xinit starten. Würde ich nicht machen. Lieber einen möglichst simplen Windowmanager benutzen statt eines aufgeblasenen Desktopsystems. Der startet dann halt genau die Fenster, die gewünscht sind, man kann trotzdem noch mit Popups etc. umgehen. https://www.6809.org.uk/evilwm/ :-) ps: Die Austauschbarkeit des Windowmanagers (und damit einhergehend die mögliche komplette Änderung des gesamten look&feel) finde ich nach wie vor eins der netten Features von X11. Schade nur, dass Gtk3 das mit ihrem "wir managen all unsere Fenster in der Applikation" kaputt gemacht hat.
:
Bearbeitet durch Moderator
Jörg W. schrieb: > Lieber einen möglichst simplen Windowmanager benutzen statt eines > aufgeblasenen Desktopsystems. Der startet dann halt genau die Fenster, > die gewünscht sind, man kann trotzdem noch mit Popups etc. umgehen. > > https://www.6809.org.uk/evilwm/ :-) Es kommt immer darauf an, was man machen möchte. Wenn man nur ein monitorfüllendes Programm mit einer Oberfläche hat, dann muss halt nichts gemanagt werden.
Chris D. schrieb: > Jörg W. schrieb: >> Lieber einen möglichst simplen Windowmanager benutzen statt eines >> aufgeblasenen Desktopsystems. Der startet dann halt genau die Fenster, >> die gewünscht sind, man kann trotzdem noch mit Popups etc. umgehen. >> >> https://www.6809.org.uk/evilwm/ > > :-) > > Es kommt immer darauf an, was man machen möchte. Wenn man nur ein > monitorfüllendes Programm mit einer Oberfläche hat, dann muss halt > nichts gemanagt werden. Mein Programm ist in Xojo 2020 geschrieben und für Linux ARM 32 compiliert. Es läuft unter dem altuellen Raspian sofort und problemlos. Das eine und einzige Hauptfenster geht nach dem Start sofort in den fullscreen mode und ist vom Typ "plain box", also auch ohne Titelleiste und Bedienelemente. "Bedient" wird die Software durch Taster an den GPIO-Pins, also auch keine Maus oder klass. Tastatur. So wie ich das bisher verstanden habe, sollte das eigentlich funktionieren, werde ich ausprobieren. Bin allerdings kein Linux-Profi, muss erstmal herausfinden, wie ich diese Betriebsart überhaupt erreiche. Um typische Raspi-Konfigurationen wie VNC oder WLAN zu erreichen bleibt mir ja dann immer noch die SSH-Shell ...
Also, ich habe so ein Projekt gerade. Annahme: deine Applikation laeuft standallone. Also benoetigt kein Windowmanager o.ae. Ich schreibe mit meinem Programm direkt in den Framebuffer. Das macht z.b. auch der Kernel mit den 4 Himberen oder dem Undervolt Blitz. a) Suche dir einen passenden Runlevel aus (bei mir 4) b) Deaktiviere in der innitab die Gettys in Runlevel 4 c) Setze Runlevel 4 als DEFAULT d) Erstelle dir ein Initscript fuer dein Programm und linke es in Runlevel 4 Passe die boot/cmdline.txt an:
1 | console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait fsck.mode=skip ipv6.disable=1 vt.global_cursor_default=0 quiet |
Ich nutze dies Distri hier: https://intestinate.com/pilfs/ Das ist ein nacktes Linux ohne alles! Wie du siehst laeuft nur INIT (logisch),SSH, NTP, SYSLOG, Meine APP. Das UI wird dann per HDMI Monitor ausgegeben. Bedient per Touch.
:
Bearbeitet durch User
Frank E. schrieb: > Mein Programm ist in Xojo 2020 geschrieben und für Linux ARM 32 > compiliert. https://forum.xojo.com/t/graphics-without-x11/38911/3
1 | You can create a Console app with the proper version of Xojo and then run that on top of whatever FB layer that you want. I use the old SVGALib. You can grab the source here and experiment. |
2 | |
3 | Note - this is NOT for the Linux noob and you DO need to know C coding and how the kernel works. |
So sieht dann nach 4 Sekunden schwarzen reboot der Monitor aus. Wie geschrieben, es laeuft nichts, nur meine App. Nativ.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.