[PhP] Linux Anwendung in Frame einbinden

Mloki

Ensign
Registriert
Feb. 2015
Beiträge
233
Angenommen, ich habe ein Linux System, worauf der Framebuffer Browser Links2 läuft und ich zeige damit eine lokale HTML Datei an, die auf einem lokalen Apache Server generiert wird, ohne dass ich auf dem Linux einen Desktop installiert habe. Kann ich es irgendwie hinbekommen, dass Linux Anwendungen in Frames dargestellt werden können ? Wie stelle ich das an zB. mit Screengrabbing ? In der Art funktionieren doch Remote Desktops auch.
 
Du willst in einem Browser Frame eine Anwendung anzeigen, die auf dem gleichen System läuft ohne dass diese Anwendung selbst direkt auf den Desktop rendert?

Klar wäre es möglich, z.B. bei X einfach zusätzliche Displays zu nutzen und dort Anwendungen zu starten. Diese könntest du freilich mit Screen Capture (Bild oder Video was auch immer) einfangen. Aber warum will man dann ein Frame verwenden? Ein Frame ist erst mal sowieso nur eine Möglichkeit, HTML Code von anderen Quellen zu laden. Modern ist aber was anderes ;) In deinem Fall wäre das aber doch irgendwie unnötig, denn wenn man den Ansatz mit Screenshots verfolgt, hat man ja sowieso Bilder und kann diese nativ direkt im Brower anzeigen. Man muss dann halt nur regelmäßig diese Bilder neu laden. Dafür brauche ich aber definitiv keine Frames, sondern etwas Javascript. Im übrigen brauch ich auch keinen Apache, wenn man einfach nur ne olle HTML anzeigen will. Auch Links kann einfach direkt HTML Dateien direkt von der Datei laden, dazu braucht es nicht den Umweg über HTTP. Sofern man also wirklich nicht noch PHP verwenden will, um irgendwas dynamisch über PHP erzeugen zu lassen, kann man sich das schon mal sparen.
 
  • Gefällt mir
Reaktionen: Mloki
  • Gefällt mir
Reaktionen: Mloki
Das geht unter Linux nicht und das geht unter Windows und anderen Systemen auch nicht. Nicht, ohne auf der Gegenseite ausreichend tief ins System zu langen und für Websites ist DAS seit Internet Explorer 6 so ziemlich out.

Was möglich ist, ist eine Shell in "Scriptsprache der Wahl" zu implementieren. Das heißt an der Stelle:

  • Du baust ein INPUT. Hier kommen Befehle rein.
  • Du baust ein DIV oder sonst ein Blockelement und malst das bunt an. Das wird das "Terminalfenster".

  • Und jetzt gibst du nen Befehl ein
  • schickst den per SUBMIT an den Webserver
  • Der führt das Ganze per system() aus -- ACHTUNG, Sicherheitsscheunentor!
  • liefert an das Script eine Wall of text zurück
-- und die Kunst ist es nun, diese Textwand irgendwie so zu parsen, daß das Ergebnis ansehnlich ins Ergebnis-DIV eingetragen wird.

Für HTML fällt mir zunächst für links die Option -source ein. Mit diesem Parameter kriegt man den Quelltext zurück. Das könnte man per AJAX irgendwo einbinden.

Für alles andere müßtest du schauen, ob Kommandozeilenoptionen für "maschinenlesbar" dabei sind und wenn nicht, jeweils einen Wrapper drumherumbauen. Und wenns nur nl2br() ist.


Ehrlich gesagt seh ich aber grad nicht so richtig den Sinn drin. SSH und multiple Terminals und fertig ist der Laden. Vor allem, wenn das Ganze übers Internet laufen soll. Dieser Jemand würde von mir einen Tritt in den Arsch kriegen, wenn er auf diese Art und Weise den gesamten PC bzw das dranhängende LAN effektiv für jedermann vollumfänglich zugänglich machen würde.

Dann kann man nämlich nun wirklich nicht mehr von "Scheunentor" reden. Das bedingt nämlich, daß eine gewisse Einschränkung des Problems bereits vorhanden ist.
 
abcddcba schrieb:
Bevor jemand fragt warum: https://www.computerbase.de/forum/t...aber-mit-vollbild-html.1881978/#post-22880306

ich sehe nur noch nicht so genau was du jetzt mit PHP machen willst? Evtl. kannst du das noch weiter beschreiben?

Ich habe mir dazu Gedanken gemacht, optimal wäre wohl wenn ich eine RDP Session einbinden könnte, da ich im Endeffekt in Frames Virtualbox Sessions darstellen will, worin Applikationen laufen, da Virtualbox von Haus aus RDP unterstützt, ansonsten müsste ich einen alternativen Weg gehen und auf allen virtuellen Maschinen einen Remote Service einrichten. Aber so ganz sicher wie ich zu meinem Ziel gelangen will bin ich noch nicht.

Rache Klos schrieb:
Ein Frame ist erst mal sowieso nur eine Möglichkeit, HTML Code von anderen Quellen zu laden. Modern ist aber was anderes ;) In deinem Fall wäre das aber doch irgendwie unnötig, denn wenn man den Ansatz mit Screenshots verfolgt, hat man ja sowieso Bilder und kann diese nativ direkt im Brower anzeigen. Man muss dann halt nur regelmäßig diese Bilder neu laden. Dafür brauche ich aber definitiv keine Frames, sondern etwas Javascript. Im übrigen brauch ich auch keinen Apache, wenn man einfach nur ne olle HTML anzeigen will. Auch Links kann einfach direkt HTML Dateien direkt von der Datei laden, dazu braucht es nicht den Umweg über HTTP. Sofern man also wirklich nicht noch PHP verwenden will, um irgendwas dynamisch über PHP erzeugen zu lassen, kann man sich das schon mal sparen.

Ja mir ist klar, dass Frames veraltet sind, der Links2 Browser ist auch kein Königsklasse Browser.
Die Idee mit dem Apache und PHP war halt, dass ich mit PHP mehr anstellen kann als mit reinem HTML,
wo ich keine Idee habe, wie ich jetzt im Endeffekt eine laufende Anwendung unter Linux dort darstellen soll.
Ich dachte mir, hey vielleicht kann man ja einfach einen auf PHP basierenden RDP Client einbinden, aber sowas gibt es wohl nicht, und die Steuerung scheint auch mehr als nur anspruchsvoll zu sein, wenn man es selbst machen wöllte. Ausserdem war die Entscheidung einen PHP Thread zu machen wohl voreilig, mir ist erst im nachhinein eingefallen, man könnte ja auch Pearl oder Python oder was auch immer nehmen, Hauptsache es klappt.

Cokocool schrieb:
Es gibt headless Browser Version um, z.B. automatsierte Tests durchzuführen. Evtl. hilft dir ja das hier weiter

https://developers.google.com/web/updates/2017/04/headless-chrome
Vielen Dank an der Stelle für den Link, sehr hilfreich, wenigstens habe ich jetzt einen besseren Browser zur Hand.
 
Wenn dir RDP reicht, dann gibt es ja die Möglichkeit mittels einem HTML5 RDP Client zu arbeiten. Da gibt es durchaus mehrere Lösungen, Microsoft selbst bietet da was an, es gibt OpenSource Implementationen etc.

Z.B. https://github.com/cedrozor/myrtille
 
  • Gefällt mir
Reaktionen: Mloki
Rache Klos schrieb:
Wenn dir RDP reicht, dann gibt es ja die Möglichkeit mittels einem HTML5 RDP Client zu arbeiten. Da gibt es durchaus mehrere Lösungen, Microsoft selbst bietet da was an, es gibt OpenSource Implementationen etc.

Z.B. https://github.com/cedrozor/myrtille
Das Beispiel Myrtille ist aber Windows Software, scheinbar keine Linux Version.
Gibt es da was passendes für Linux ?
 
  • Gefällt mir
Reaktionen: Mloki
Zurück
Oben