2013-03-29 88 views
13

我有一個樹莓派,我一直通過SSH訪問,但現在我需要運行一個具有GUI的Python程序。我不確定如何通過SSH執行此操作。通常我通過鍵入startx來獲得raspi的桌面gui。有什麼我可以通過ssh這樣做嗎?通過SSH訪問Raspbian wheezy桌面GUI

謝謝!

+0

應該移到[UL](http://unix.stackexchange.com/) – ManuelSchneid3r

回答

8

你可以用ssh進行X11轉發。如果您使用-Y-X啓動ssh會話,它將啓用X11轉發。因此,您在該會話中運行的任何程序都會創建一個窗口,該窗口將在本地繪製。您也可以通過ssh一個命令來運行:

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

如果你想有一個完整的GUI會話,那麼你要設置的銼刀PI的RDP或VNC服務器,並與一些客戶端連接到它。

+0

太棒了 - 非常感謝! –

+1

將此與Xnest結合使用,然後您可以運行嵌入在遠程顯示器窗口中的整個raspi桌面。我發現這個在lan上的性能要優於vnc。 –

11

kjprice提到的方法只是顯示您在遠程主機上啓動的應用程序。如果你想看到一個完整的dektop,你可以創建一個新的Xserver或使用Xephyr來嵌套你當前使用的Xserver。

那麼首先創建一個新的嵌套的Xserver:應該產卵:

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

稱爲 「1 Xephyr上」 的窗口。 SSH連接到遠程主機的轉發顯示器所產生的顯示:

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

現在對遠程主機啓動會話,在我的情況LXDE:

[email protected] $ lxsession 

您現在應該看到在Xephyr桌面。 hf

+0

您的解決方案完美適用於啓動遠程xsession。但是,我無法完全退出。當我嘗試註銷xsession時,lxsession程序停止,但窗口保持打開並可操作(看起來桌面主題已卸載)。什麼是關閉會話的首選方法? – chawkinsuf

+0

我不確定你的意思是xephyr或是它。 Xephyr必須在開始背景時通過「killall xephyr」殺死。只需谷歌bash&符。 – ManuelSchneid3r

+0

我的問題是如何註銷在Xephyr中顯示的lxsession,而不是如何終止Xephyr。只需從gui中選擇註銷並不會使我退出會話。 – chawkinsuf