通过ssh访问Raspbian wheezy桌面GUI

通过ssh访问Raspbian wheezy桌面GUI,ssh,raspberry-pi,raspbian,Ssh,Raspberry Pi,Raspbian,我有一个Raspberry pi,我一直在通过SSH访问它,但现在我需要在上面运行一个带有GUI的python程序。我不知道如何通过SSH实现这一点。通常我通过键入startx进入我的raspi桌面gui。我可以通过ssh做些什么吗 谢谢 您可以使用ssh进行X11转发。如果使用-Y或-X启动ssh会话,它将启用X11转发。因此,在该会话中运行的任何创建窗口的程序,都将在本地绘制该窗口。您还可以传递ssh命令以运行: $ ssh -Y user@$some_ip /path/to/some/re

我有一个Raspberry pi,我一直在通过SSH访问它,但现在我需要在上面运行一个带有GUI的python程序。我不知道如何通过SSH实现这一点。通常我通过键入startx进入我的raspi桌面gui。我可以通过ssh做些什么吗


谢谢

您可以使用ssh进行X11转发。如果使用
-Y
-X
启动ssh会话,它将启用X11转发。因此,在该会话中运行的任何创建窗口的程序,都将在本地绘制该窗口。您还可以传递
ssh
命令以运行:

$ ssh -Y user@$some_ip /path/to/some/remote/python_script.py

如果您想要一个完整的gui会话,那么您需要在rasp pi上设置一个RDP或VNC服务器,并通过一些客户端连接到它。

kjprice提到的方法只是显示您在远程主机上启动的应用程序。如果您想查看完整的devtop,可以创建一个新的Xserver,或者使用Xephyr在当前使用的Xserver中嵌套一个Xserver

首先,创建一个新的嵌套Xserver:

user@host $ Xephyr :1 -screen 800x600 &
应该生成一个名为“Xephyr on:1”的窗口。将Ssh连接到远程主机并将显示转发到创建的显示:

user@host $ DISPLAY=:1 ssh -Y username@remotehost
现在在remotehost上启动一个会话,在我的示例LXDE中:

user@remotehost $ lxsession

您现在应该可以在Xephyr中看到桌面。hf

太棒了——非常感谢!将其与Xnest相结合,您就可以运行嵌入远程显示器窗口中的整个raspi桌面。我发现这在局域网上的性能要优于vnc。应该转移到您的解决方案中,它对于启动远程xsession非常有效。然而,我无法干净地退出。当我尝试注销xsession时,lxsession程序停止,但窗口保持打开和运行(桌面主题似乎已卸载)。关闭会话的首选方法是什么?我不确定你是指xephyr还是其他什么。Xephyr必须通过
killall Xephyr
杀死,因为它是在后台启动的。我的问题是如何注销Xephyr中显示的lxsession,而不是如何终止Xephyr。简单地从gui中选择注销并不会使我退出会话。我不知道具体情况。半年前的事了。这取决于会话。你能退出LXDE而不是注销吗?或者只需在运行ssh的终端中按ctrl-c(kill进程)。如果lxsession分叉到后台,请尝试终止所有lxsession。它们都不合适。