Idee: Virtual Box Headless laufen lassen & Linux-Fenster via X11 direkt in OS X anzeigen

EnGL

EnGL

Aktives Mitglied
Thread Starter
Dabei seit
11.01.2007
Beiträge
235
Reaktionspunkte
7
Mahlzeit zusammen,

ich brauche einige Software für FPGA Programmierung, die unter OS X nicht läuft. Bisher klassischer Weg: Virtuelle Maschine starten, Software da laufen lassen.

Wie sinnvoll oder sinnlos findet ihr folgende Alternativ-Idee:
Ich kann ja nach der Installation des Linux und der passenden Software in der VM diese offenbar via Command line auch Headless - also ohne virtuelles Display starten. Ich könnte mir doch nun irgendwie sicher in Skript bauen, was das im Hintergrund tut, dann via ssh sich dort einloggt, meine gewünschte Software startet und deren Fenster via X11 auf meinen Mac Desktop bringt.
Dabei sehe ich einen klaren Vorteil, nämlich erstens, das Fenster mehr oder weniger wie eine native OS X App auf meinem Bildschirm nutzen zu können und zweitens hätte ich die Vermutung, dass die VM vielleicht ohne die Virtualisierung des gesamten Desktops etwas performanter läuft. Jedoch bin ich mir bei der zweiten Vermutung nicht sicher, ob ein System was ich im Headless modus starte dann auch wirklich keine GUI berechnet.

Daher, bevor ich lange herum bastle, was meinen die Profis hier, macht das Sinn oder ist das maximal Spielerei?
 
Guten Abend,

ich sehe hier 2 Möglichkeiten:
1) den XServer in der VM Starten und die Ausgabe auf den Client (OS X) umleiten
2) den XServer (XQuarz) am Mac starten und per SSH die Anwendung am Client (VM) starten
Sprich die Grenze was Server und was Client ist liegt dann im Auge des Betrachters bzw. dem was man machen möchte.

Für Deinen Fall würde ich die zweite Variante nehmen. Am besten dann Installation der Linux Distribution in der VM ohne Desktop. Kann Dir aber natürlich passieren, dass mit der Installation der Anwendung auch die gesamte X Umgebung samt einem Desktop mit installiert wird. Braucht dann entsprechend Speicherplatz, der XServer muss aber ja nicht gestartet werden und Du sparst unnötige Berechnungen für den XServer samt Desktop Environment. Sollte also etwas performanter sein. Ich denke aber dies hängt maßgeblich eher davon ab welche Rechenleistung/Hardware etc. Du dem System in der VirtualBox voreingestellt hast.

Wenn Du die VirtualBox verwendest, kannst Du Dir eine Verknüpfung auf den Desktop legen (aus der VirtualBox heraus).
Solltest Du dann bspw. iTerm2 als Terminal Anwendung unter OS X nutzen, so kannst Du hier die SSH Verbindung samt Aufruf der Anwendung gleich direkt als sogenanntes Profil hinterlegen und aufrufen.
 
Ja so in etwa hatte ich es vor, dachte ich bau mir vielleicht etwas mit dem Automator, das die VM hochfährt, XQuarz startet sich dann via SSH einloggt und die Software startet. Als Distribution hätte ich obwohl ich es bisher nicht genutzt habe CentOS genutzt, einfach weil alle Softwares die ich in der VM laufen lassen wollen das als supportete Distribution angegeben haben.

Da jetzt hier keinerlei Widerspruch zu hören war, dass das Unsinn wäre, werde ich es demnächst einfach mal so einrichten und dann darüber berichten wie viel oder wenig das an Performancevorteil gebracht hat!
 
Kann man machen. Das einzige Problem ist, dass du je nach Lösung die du wählst viel Bandbreite brauchst um ruckelfrei (sowohl latenz als auch FPS) arbeiten zu können. X11 Forwarding sendet quasi die kompletten OpenGL Befehle rüber und braucht einen Haufen Bandbreite je nach Applikation. Dann wird auf dem Client das fertige Bild zusammengerendet. Es gibt zwar auch eine Komprimierung für ssh, aber dann hat man unweigerlich Latenzen da die wieder entpackt werden muss.

Wir haben im Insitut auch mehrere Cluster. 10 von den Nodes haben 4 nvidia Quadros und ersetzen aktuell unsere kompletten Workstations. Da nutzen wir einen aufgeborten VNC, der berechnet alle Pixel auf den Server, und sendet quasi nur noch das Bild zu den Clienten als Änderung, quasi wie beim Videostream. Dadurch reduziert sich die Bandbreite, die Clienten müssen nichts mehr berechnen, und wir haben 60 FPS ruckelfrei bei wenig Bandbreite. Teamviewer ist auch deshalb so populär, weil es überall geht, wie Skype, aber auch flüssig arbeit mit wenig Bandbreite und auf jeder Hardware.
 
Interessant, ich hätte tatsächlich vermutet, dass das streamen eines fertig gerenderten Bildes deutlich mehr Bandbreite nutzt als das streamen der Daten für den XServer.
Wie dem auch sei, Netzwerkbandbreite ist ja hier nicht ganz das Thema, da ich das ganze ja lokal auf meinem MacBook realisieren will - die VM läuft selbst auf dem MacBook, das Bild würde also so oder so auf der selben Hardware berechnet. Und da dachte ich mir es könnte schneller sein, das Bild von XQuartz direkt unter OS X rendern zu lassen als dies in der Virtuellen Maschine zu erledigen.
 
Zurück
Oben Unten