【问题标题】:Access Raspbian wheezy desktop GUI through ssh [closed]通过 ssh 访问 Raspbian wheezy 桌面 GUI [关闭]
【发布时间】:2013-03-20 16:41:03
【问题描述】:

我有一个通过 SSH 访问的 Raspberry pi,但现在我需要在其上运行一个具有 GUI 的 python 程序。我不确定如何通过 SSH 做到这一点。通常我通过输入 startx 进入我的 raspi 桌面 gui。我可以通过 ssh 做些什么吗?

谢谢!

【问题讨论】:

  • 应该移到UL

标签: ssh raspberry-pi raspbian


【解决方案1】:

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

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

user@host $ Xephyr :1 -screen 800x600 &

应该会生成一个名为“Xephyr on :1”的窗口。 SSH 进入远程主机并将显示转发到创建的显示:

user@host $ DISPLAY=:1 ssh -Y username@remotehost

现在在远程主机上开始一个会话,在我的例子中是 LXDE:

user@remotehost $ lxsession

您现在应该在 Xephyr 中看到桌面。高频

【讨论】:

  • 您的解决方案非常适合启动远程 xsession。但是,我无法干净地退出。当我尝试注销 xsession 时,lxsession 程序停止,但窗口保持打开和运行状态(似乎桌面主题已卸载)。关闭会话的首选方法是什么?
  • 我不确定你的意思是 xephyr 还是其他东西。 Xephyr 在后台启动时必须通过killall xephyr 杀死。只需谷歌搜索 bash & 符号。
  • 我的问题是如何注销 Xephyr 中显示的 lxsession,而不是如何终止 Xephyr。只需从 gui 中选择注销不会让我退出会话。
  • 我不太清楚。半年前的事了。这取决于 lxsession。你可以退出LXDE而不是注销吗?或者只是在运行 ssh 的终端中按 ctrl-c(杀死进程)。如果 lxsession 分叉到后台尝试 killall lxsession。没有一个是合适的。
【解决方案2】:

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

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

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

【讨论】:

  • 太棒了——非常感谢!
  • 将其与 Xnest 结合使用,您就可以在远程显示器的窗口中运行嵌入的整个 raspi 桌面。我发现它在局域网上的性能优于 vnc。
猜你喜欢
  • 2019-06-03
  • 1970-01-01
  • 2020-10-20
  • 2020-01-10
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 2016-08-11
相关资源
最近更新 更多