Wie führe ich eine GUI-App über SSH aus?

10

Ich bin es gewohnt, unter Unix / Linux zu arbeiten und bin kürzlich auf den Mac gewechselt. Früher war dies möglich:

derick@linux1:~$ ssh -X linux2
derick@linux2's password:
derick@linux2:~$ xclock

Ich habe X11 von maxports installiert und kann dasselbe von meinem Mac aus tun. Wenn ich das Gegenteil versuche, indem ich unter Linux auf meinen Mac ssh-ing, kann ich nur bestimmte Apps ausführen:

  • /usr/X11/bin/xclock funktioniert gut
  • So etwas /Applications/Preview.app/Contents/MacOS/Previewöffnet die GUI auf dem Mac.

    Es scheint, dass dies auf einem Mac nicht möglich ist? Wenn nicht, wie führe ich eine Anwendung remote (auf einem Mac) mit einer lokalen (Linux-) Anzeige aus? Benötige ich eine Drittanbieter-App?

Update: Genauer gesagt: Ich habe Synergieeffekte und verwende den Mac zum Codieren. Auf meinem Linux-PC möchte ich die Anzeige (GUI) einer anderen Anwendung vom Mac aus sehen. Daher funktionieren Live-Screen-Sharing-Apps wie VNC nicht.

Zum Beispiel arbeite ich an meinem Mac in App A (z. B. Word) und möchte die Ausgabe von Excel (läuft auf einem Mac) auf meinem Linux-PC neben mir sehen. (Simulation eines Doppelbildschirms über das Netzwerk). Es funktionierte gut unter Linux und hoffte auf eine Lösung für Mac.

Derick Schoonbee
quelle
Wenn es keine Lösung über SSH gibt, würde mich das auch interessieren. Das Problem ist, dass ich die Anzeige einer lokalen App auf einem PC über das Netzwerk neben mir ausführen möchte, wie ich es früher mit Linux getan habe.
Derick Schoonbee
Kann ich fragen, warum Sie VNC vermeiden möchten? Netzwerkverzögerungsprobleme?
Nicholas Smith
Ich arbeite gerade am Mac, daher ist der Bildschirm "besetzt". Ich möchte eine andere App auf dem Mac ausführen, deren Ausgabe auf dem PC neben mir angezeigt wird. Wie ich es mit Linux gemacht habe. Ich hoffe, eine Lösung auf dem Mac zu sehen.
Derick Schoonbee
Übrigens müssen Sie X11 nicht über Macports installieren ... X11 wird mit OS X geliefert.
Yuji
Ah hah, Ihr Einwand gegen VNC ist also nicht auf irgendwelche VNC-Probleme zurückzuführen, sondern auf die Bildschirmbeschränkungen?
Nicholas Smith

Antworten:

9

Wenn ich mich also nicht irre, besteht das Problem, das Sie derzeit mit VNC haben, darin, dass der Bildschirm des aktuellen Mac-Benutzers mit geöffneten Apps geteilt wird, die Sie auf Ihrem anderen Computer nicht sehen möchten. Lion bietet die Möglichkeit, freigegebene Benutzer, die im Hintergrund angemeldet sind, auf dem Bildschirm anzuzeigen . Zitieren des Textes aus dem Link:

  • Aktivieren Sie die Bildschirmfreigabe und legen Sie ein VNC-Kennwort fest.
  • Notieren Sie sich die IP-Adresse Ihres Computers.
  • Starten Sie einen VNC-Client auf einem anderen Computer.
  • Stellen Sie zusammen mit dem zuvor festgelegten Kennwort eine Verbindung zur IP-Adresse Ihres Computers her.
  • Sie sehen den Mac OS X-Anmeldebildschirm, der beim ersten Start des Computers angezeigt wird. Wenn Sie sich beim aktuell aktiven Benutzer anmelden, steuern Sie den Bildschirm des Computers. Wenn Sie einen anderen Benutzer auswählen, werden Sie im Hintergrund auf dem Desktop dieses Benutzers angemeldet. Es hat keinen Einfluss darauf, was auf dem Bildschirm des physischen Computers angezeigt wird.

Sie müssen wahrscheinlich nur einen anderen Benutzer für die Freigabe erstellen.

cftarnas
quelle
Großartig, das scheint das zu sein, was ich will! Jetzt habe ich eine weitere Motivation, auf Lion aufzurüsten . Ich werde bald testen und dies wahrscheinlich als Antwort akzeptieren. Vielen Dank!
Derick Schoonbee
Verdammt, ich habe gerade ein Upgrade durchgeführt und erhalte den Anmeldebildschirm über VNC. Aber es will nicht meine Tastatur streicheln lassen. Somit kann ich mich nicht einloggen :(
Derick Schoonbee
Das ist sehr seltsam - welchen VNC-Client verwenden Sie?
Cftarnas
17

Die native Mac OS X-Anwendung verwendet nicht das X-Protokoll für das Rendern, sondern das Mac-spezifische Protokoll. Sie können die Weiterleitung des ssh X-Protokolls daher nicht wie bei einer Linux-Workstation verwenden.

Wie Sie festgestellt haben, ist das Gegenteil nicht der Fall. Sie können einen X-Server unter Mac OS X installieren und das Linux-Programm auf Ihrem Mac anzeigen lassen.

Sie können entweder eine Mac-eigene Desktop-Freigabefunktion verwenden oder einen VNC-Server installieren. Dann stellen Sie von Ihrer Linux-Box aus eine Verbindung zu Ihrem Mac über VNC anstelle von ssh her.

Sylvain Defresne
quelle
Danke für die Information. Was ich wissen möchte, wenn es ähnliche Funktionen gibt, die ich auf dem Mac verwenden kann. Kann ich beispielsweise die Desktop-Freigabefunktion unter Linux1 verwenden, während ich auf meinem Mac arbeite / angemeldet bin?
Derick Schoonbee
Ja, Sie können einen VNC-Server unter Linux ausführen und ihn von Mac mit einem VNC-Client verbinden (es gibt einige kostenlose VNC-Clients auf dem Mac und einen kostenlosen VNC-Server unter Linux).
Sylvain Defresne
Hmm .. VNC schneidet es nicht: Ich arbeite an meinem Mac in App A (sagen wir Word) und möchte die Ausgabe von Excel (läuft auf einem Mac) auf einem Linux-PC neben mir sehen.
Derick Schoonbee
Wie Sylvain erklärte, ist dies auf dem Mac nicht möglich. Die zugrunde liegende Architektur des Betriebssystems erlaubt diese Art der Verwendung nicht.
Samuel Mikel Bowles
3
Siehe meine Antwort, aber mit Lion ist es möglich, wenn Sie für die VNC-Sitzung einen anderen Benutzer auf dem Mac verwenden.
Cftarnas
7

Wie Sylvian erwähnt hat, können Sie Ihre Mac-Apps nicht ausführen und unter Linux anzeigen. Das Beste, was Sie tun können, ist VNC. Sie sehen den gesamten Bildschirm, nicht nur eine App.

Aktivieren Sie ein VNC-Kennwort in den Einstellungen für die Bildschirmfreigabe:

Einstellungen für die Bildschirmfreigabe

Sie können dann jede VNC-Client-Anwendung unter Linux verwenden.

Bahamat
quelle
0

Sie haben ein wenig Pech, aber ScreenRecycler wird Sie so nah wie möglich bringen. Läuft über VNC, überzeugt jedoch OS X, dass die VNC-Verbindung tatsächlich ein separater Monitor ist. Sie sollte es Ihnen ermöglichen, sich dem zu nähern, was Sie benötigen. Ich habe es benutzt, es ist ziemlich gut, es gibt eine kostenlose Testversion, dann ist es ziemlich billig. Ich habe es nur deshalb nicht mehr benutzt, weil ich in einem beschissenen Netzwerk war und es zu viel Latenz gab, es sei denn, ich habe die beiden direkt vernetzt.

Nicholas Smith
quelle
0

Ein bisschen kreativ werden, aber Sie können auch eine Java-App mit VNC ausführen, die entweder einen http-Server hat, oder in meinem Fall eine Schleife verwenden, um nach einer Datei zu suchen und diese Datei mit SSH zu erstellen.

Hier ist meine Java App.

Erik B.
quelle