Cro*_*ent 17 xorg x11-forwarding windows-10 windows-subsystem-for-linux
我有一个 Raspberry Pi 3 Model B+ 连接到我的本地网络,我可以毫无问题地通过 SSH 连接到它。尽管一切都是在命令行上完成的,但这确实会导致一些问题。
我真正想做的是通过使用 Windows Subsystem for Linux 附带的 SSH 客户端来使用 X11 转发。我正在运行安装了 1803 更新的 Windows 10 专业版。
我只是想知道如何使用此功能?如果它本身无法在 Windows 10 中运行,那么我始终可以运行 Linux 虚拟机来连接到 Raspberry Pi。
小智 18
在 WSL shell 上,确保您已导出完全限定的 DISPLAY
export DISPLAY=localhost:0.0
Run Code Online (Sandbox Code Playgroud)
以下不起作用:
export DISPLAY=:0.0
Run Code Online (Sandbox Code Playgroud)
:0.0 依赖于 UNIX 域套接字(而不是 TCP/IP 套接字)并且不知何故 X 转发没有正确连接。我有同样的问题。
更新:wsl2 几乎一样,但是在使用 VcXsrv 时,您必须选中该disable access control框。
bae*_*elx 12
鉴于您当前的设置,这绝对是可能的。请注意,您还可以选择使用 Putty,但无论哪种方式,您都需要在客户端计算机上运行 X 服务器,即您的 Linux 的 Windows 子系统 — WSL。X 窗口系统的客户端-服务器模型部分是使 X 转发如此容易实现的原因。您所需要的只是在主机和客户端上运行的 X 服务器。
首先,您需要对主机(您的 Raspberry Pi)上的 SSH 服务器进行细微的配置调整。首先,在etc目录中找到您的sshd_config文件。您可以通过 ssh 进入 Raspberry Pi(使用具有 sudo 功能的帐户)或直接访问 Pi 然后打开终端来运行这些命令。
进入后,运行以下命令:
cd /etc/ssh
Run Code Online (Sandbox Code Playgroud)
备份您的 sshd 配置文件:
cp sshd_config sshd_config.ORIG
Run Code Online (Sandbox Code Playgroud)
现在在文本编辑器中打开原始文件:
sudo nano sshd_config
Run Code Online (Sandbox Code Playgroud)
您可以选择您喜欢的任何文本编辑器(有关 nano 文本编辑器的快捷方式,请参见此处)。这是 ssh 服务器的主要配置文件。查找并取消注释以下行:
X11Forwarding yes
X11UseForwarding yes
Run Code Online (Sandbox Code Playgroud)
保存并退出。现在您需要使用以下命令重新启动 Pi 的 SSH 服务器:
sudo systemctl restart sshd
Run Code Online (Sandbox Code Playgroud)
你已经完成了你的主机。现在您需要做的就是为 Windows 安装一个 X 服务器。有几个选项可供选择,但我会选择 Cygwin X,您可以在此处下载。安装它并运行它后,它应该会在您的客户端上生成一个小窗口,用于显示 X 程序。您现在可以通过返回到 WSL shell 并运行简单命令来测试 X 转发是否发生:
xclock
Run Code Online (Sandbox Code Playgroud)
Cygwin 生成的窗口中应该会出现一个简单的时钟。您可以通过返回 WSL shell 并按 Ctrl+C 来终止时钟。如果无法识别此命令,您可能首先需要在主机上安装 x11-graphics 应用程序:
sudo apt-get install x11-apps
Run Code Online (Sandbox Code Playgroud)
现在应该为您启用 X 转发,您现在可以从 Windows 运行大多数(如果不是全部)Raspberry Pi 的应用程序。
您可能希望更进一步,并进行设置以从您的 Pi 运行整个桌面环境,而不仅仅是 X 转发所允许的逐个应用程序。以下是您可以使用的几个常用选项:
| 归档时间: |
|
| 查看次数: |
65642 次 |
| 最近记录: |