2013-03-29 6 views
13

Ich habe eine Raspberry Pi, die ich über SSH zugegriffen habe, aber jetzt muss ich ein Python-Programm mit einer GUI ausführen. Ich bin nicht sicher, wie man das durch SSH macht. Normalerweise komme ich mit der Eingabe von startx auf die Desktop-GUI meines Raspis. Gibt es irgendetwas, was ich so über ssh tun kann?Zugriff auf Raspbian Wheezy Desktop-GUI durch ssh

Danke!

+0

Sollte nach [UL] (http://unix.stackexchange.com/) bewegt werden – ManuelSchneid3r

Antwort

8

Sie können X11-Weiterleitung mit SSH tun. Wenn Sie eine SSH-Sitzung mit -Y oder -X starten, wird X11-Weiterleitung aktiviert. Also, jedes Programm, das Sie in dieser Sitzung ausführen, die ein Fenster erstellt, wird das Fenster lokal gezeichnet. Sie können auch ssh einen Befehl auszuführen passieren:

$ ssh -Y [email protected]$some_ip /path/to/some/remote/python_script.py 

Wenn Sie eine vollständige gui Sitzung wollen, dann werden Sie eine RDP oder VNC-Server auf der Raspel pi einrichten möchten und mit einigen Client-Verbindung zu ihm herstellen.

+0

Awesome - vielen Dank! –

+1

kombinieren Sie dies mit Xnest dann können Sie den gesamten raspi Desktop in einem Fenster auf dem Remote-Display eingebettet ausführen. Ich finde die Leistung von diesem auf einem lan vnc überlegen zu sein. –

11

Der von kjprice erwähnte Ansatz zeigt nur die Anwendungen an, die Sie auf dem Remote-Host gestartet haben. Wenn Sie einen vollständigen Desktop sehen möchten, könnten Sie entweder einen neuen X-Server erstellen oder Xephyr verwenden, um einen X-Server in den zu verschachteln, den Sie gerade verwenden.

Nun zunächst eine neue verschachtelte Xserver erstellen:

[email protected] $ Xephyr :1 -screen 800x600 & 

Ein Fenster namens "Xephyr auf: 1" sollte laichen. Ssh in dem Remote-Host ein Weiterleiten der Anzeige der erstellten Anzeige:

[email protected] $ DISPLAY=:1 ssh -Y [email protected] 

Jetzt eine Sitzung auf dem entfernter_host, in meinem Fall LXDE starten:

[email protected] $ lxsession 

Sie jetzt den Desktop in Xephyr sehen sollte. hf

+0

Ihre Lösung funktionierte perfekt zum Starten der Remote-Sitzung. Ich kann jedoch nicht sauber aussteigen. Wenn ich versuche, mich von der Xsession abzumelden, wird das LxSession-Programm beendet, aber das Fenster bleibt geöffnet und betriebsbereit (es scheint, als wäre das Desktop-Theme entladen). Was ist die bevorzugte Methode, um die Sitzung zu beenden? – chawkinsuf

+0

Ich bin mir nicht sicher, ob Sie xephyr oder etw bedeuten. Xephyr muss über 'killall xephyr' getötet werden, da es im Hintergrund gestartet wurde. Google einfach für Bash Ampersand. – ManuelSchneid3r

+0

Die Frage, die ich habe, ist, wie man sich von der LxSession abmeldet, die in Xephyr angezeigt wird, nicht, wie man Xephyr beendet. Einfach die Abmeldung aus der GUI auswählen, loggt mich nicht aus der Sitzung aus. – chawkinsuf

Verwandte Themen