Forum: PC Hard- und Software [Linux] Grafische Programme auf Bilschirm per Remote SSH steuern


von Ben S. (theben)


Lesenswert?

Hallo Leute,

ich habe einen bei mir einen Raspberry Pi mit angeschlossenem TFT 
Display liegen.
Ich würde gern grafische Ausgaben (z.B. anzeigen von Bildern) auf diesem 
Bilschirm machen. Ich habe an dem Pi keine Tastatur und keine Maus 
angeschlossen. Es gibt nur die möglichkeit über eine Remote SSH 
Verbindung. Weiterhin ausgeschlossen ist eine Remote Desktop bzw. VNC 
Verbindung. Ich will nur per Console die anzuzeigenen Dinge im 
Bildschirm steuern können.

Ich weis leider nicht nach welchen Begriffen ich suchen soll.

Hat wer eine eine Idee?

von Stefan L. (timpi)


Lesenswert?

Moin,

wenn Du den Monitor im Blick hast evtl. 'ne KVM-Software, z.B. Syngery 
(https://learn.adafruit.com/synergy-on-raspberry-pi/intro-what-is-synergy).

timpi.

: Bearbeitet durch User
von 50c (Gast)


Lesenswert?


von Ben S. (theben)


Lesenswert?

Ja die Tastatur und Maus zu sharen ist auch eine Idee. Zur not müsste 
ich die nehmen. Doch was ich eigentlich will ist das per kommandozeile 
programme starte die dann über diesen Bilschirm angezeigt werden. Sprich 
ich möchte gern eine GUI entwickeln. Diese wird auf meinem PC entwickelt 
und gebaut. Dann wird diese automatisch auf den Pi kopiert. Dann will 
ich diese starten. Dazu möchte ich gern die Kommantozeile per SSH Zugang 
nutzen.

von Sven B. (scummos)


Lesenswert?

Naja, was willst du denn da steuern? Willst du ein existierendes 
Programm laufen lassen und das irgendwie bedienen? Dann evtl. 
irgendwelche xlib-Hacks oder dbus. Wenn du selbst was schreibst, stehen 
dir alle Möglichkeiten des API-Designs offen, je nach dem was du 
brauchst ...

von 50c (Gast)


Lesenswert?

...also nochmal

Stichwort für die Dinge ist Framebuffer...

Mit dem Programm, zu dem ich vorhin einen Link zur Manpage gesendet 
habe, ist eine Kommandozeilentool mit man via Remote-Konsole Bilder auf 
dem Framebufferdevice ausgeben kann...(da du das explizit als Beispiel 
angegeben hattest).

von bgb (Gast)


Lesenswert?

ssh mit X forwarding

$ man ssh

von Bernd K. (prof7bit)


Lesenswert?

Ben S. schrieb:
> Doch was ich eigentlich will ist das per kommandozeile
> programme starte die dann über diesen Bilschirm angezeigt werden

Du musst die DISPLAY Umgebungsvariable vor den Start des Programms 
entsprechend setzten, dann müsste es gehen. Forsche mal in diese 
Richtung weiter.

von Bernd K. (prof7bit)


Lesenswert?

Ben S. schrieb:
> Diese wird auf meinem PC entwickelt
> und gebaut. Dann wird diese automatisch auf den Pi kopiert. Dann will
> ich diese starten. Dazu möchte ich gern die Kommantozeile per SSH Zugang
> nutzen.

Starte die GUI doch einfach über den Autostart der vorhandenen 
Desktopumgebung. Oder (schwieriger und zwei Stufen hackiger) lass im 
login manager nicht die Desktopumgebung starten sondern stattdessen 
ein Script welches zuerst einen nackten Fenstermanager startet und dann 
die Anwendung.

Das Script machst Du so daß wenn die Anwendung beendet wird sie sofort 
wieder neu startet. Jetzt kopierst Du einfach eine neue Version der 
Anwendung rüber und killst dann die laufende Instanz. Dann startet 
automatisch die neue Version.

: Bearbeitet durch User
von 50c (Gast)


Lesenswert?

bgb schrieb:
> ssh mit X forwarding

...und ff. ...

der TO möchte die Ausgaben auf dem, am Raspberry, angeschlossenen 
Display ausgeben, nicht remote auf einem anderen Terminal!

von Ben S. (theben)


Lesenswert?

Bernd K. schrieb:
> Ben S. schrieb:
>> Doch was ich eigentlich will ist das per kommandozeile
>> programme starte die dann über diesen Bilschirm angezeigt werden
>
> Du musst die DISPLAY Umgebungsvariable vor den Start des Programms
> entsprechend setzten, dann müsste es gehen. Forsche mal in diese
> Richtung weiter.

Danke Bernd!

Die Wörter DISPLAY und Umgebungsvariable waren genau die, die bei meiner 
Suche brauchte.

Für alle denen die Lösung interessiert:
Zuerst muss mit "xhost +" die erlaubniss gegeben werden von anderen 
Benutzern auf den Bildschirm zugegreifen zu können.
Dann kann man ein Programm wie folgt starten:
DISPALY=:0 <Programm>

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.