Führen Sie eine GUI-App auf einem Remotecomputer von SSH aus

10

Ich möchte eine GUI-Anwendung auf meinem Ubuntu-Computer ausführen, sie sollte jedoch von einem Shell-Skript auf meinem Debian-Server über SSH gestartet werden.

Ist das möglich?

Patrick
quelle
1
Es scheint ein wenig Verwirrung darüber zu geben, was Sie versuchen zu tun. Versuchen Sie, ein GUI-Programm auf einem Remote-Host auszuführen, aber wird das GUI-Fenster auf Ihrem lokalen Host angezeigt? Oder versuchen Sie, eine Anwendung lokal auszuführen (und das Fenster wird lokal angezeigt), haben sie jedoch remote ausgelöst?
pkaeding
@pkaeding gut, wenn es zwei Interpretationen gibt, beide nützlich, dann können Sie für beide antworten. Wissen Sie? Jemand hat bereits kommentiert und nach einer dieser Interpretationen gefragt "Alexander schrieb". Es ist eine Weile her, aber vielleicht erinnern Sie sich noch daran, ob Sie TeamViewer von ssh aus starten konnten. Ich würde mich freuen, wenn Sie uns näher erläutern könnten, wie Sie das gemacht haben. Danke. "<--- Also, wenn Sie es gewusst und für beide geantwortet hätten, hätte es ihm und anderen vielleicht geholfen.
Barlop

Antworten:

4

So etwas sollte funktionieren:

#on your desktop 
xhost + #not secure, make sure your X isn't listening on any tcp ports.
echo 'export DISPLAY=:0; x-command-you-want &' > ~/run-command
chmod +x ~/run-command
#on your server
ssh user@desktop '~/run-command'
OneOfOne
quelle
2

Dies funktioniert für mich, sobald ich in ssh'd bin:

export DISPLAY=:0; nohup iceweasel &>/dev/null &
DanteAlighieri
quelle
0

Ja, das ist möglich. Sie müssen nur den X-Verkehr über die SSH-Verbindung weiterleiten. Verbinden Sie sich beispielsweise wie folgt:

debian-computer:$ ssh -X username@ubuntu-computer

Starten Sie dann einfach die Anwendung über die SSH-Eingabeaufforderung. Das GUI-Fenster wird auf Ihrer Debian-Box angezeigt (bei der Sie lokal angemeldet sind). Die gesamte Verarbeitung wird vom Remote-Computer (dem Ubuntu-Computer) durchgeführt.

Beachten Sie, dass dies nur funktioniert, wenn auf Ihrem lokalen Computer ein X-Windows-Server ausgeführt wird. Dies ist auf jeden Fall der Fall, wenn Sie eine Desktop-Linux / Unix-Installation haben und X-Server auch unter Mac OS und Windows installieren können, diese sind jedoch nicht standardmäßig installiert.

pkaeding
quelle
Er wollte, dass der Server ein GUI-Programm auf dem Desktop ausführt, auch bekannt als Server, der eine Verbindung zum Desktop herstellt und das Programm ausführt.
OneOfOne
0

Vielen Dank für Ihre Antworten. In der Zwischenzeit habe ich ein paar andere Dinge ausprobiert und eines dieser Dinge war, eine SSH-Verbindung zum Ubuntu-Computer herzustellen und ein Skript auf diesem Computer auszuführen.

In einer der ersten Zeilen dieses Skripts habe ich die EXPORT-Anzeige definiert. Der Spieler weiß jetzt, welches Display er verwenden soll.

Danke noch einmal.

Patrick
quelle
Hallo. Es ist schon eine Weile her, aber vielleicht erinnern Sie sich noch daran, ob Sie TeamViewer von ssh aus starten konnten. Ich würde mich freuen, wenn Sie uns näher erläutern könnten, wie Sie das gemacht haben. Vielen Dank.
Alexander Chertov