0

注意:如果我使用 putty 和使用 localhost:0.0 的 X11 转发,X11 转发工作正常。我想让它使用 Windows 10 命令行 ssh 工作。这是我的步骤。

  • 我的 Windows 10 计算机和我的 Ubuntu 计算机位于同一个本地网络上。
  • 我安装并运行了 Xming。我的图标托盘中的图标显示 Xming Server:0.0
  • 我打开一个命令窗口(类型cmd
  • 我使用ssh -X mymachine并登录正常。
  • 在我的 Ubuntu 提示符下,我输入
export DISPLAY=localhost:0.0
xcalc
  • 我收到以下消息
No protocol specified
Error: Can't open display: localhost:0.0
  • 我尝试了其他组合(注意:Windows 10 计算机在 192.168.1.18 上)
export DISPLAY=localhost:0.0
export DISPLAY=192.168.1.18:0.0
export DISPLAY=192.168.1.18:0
export DISPLAY=10:0.0
export DISPLAY=10:0.0.1

我什至尝试在 Windows 命令窗口中键入以下内容:

set DISPLAY=localhost:0.0
ssh -X mymachine

但 Windows 不喜欢这样。我也尝试过使用 Windows Powershell。没有任何效果。我不断收到同样的信息。

4

3 回答 3

1

我终于弄明白了。我再次使用 Putty 并检查了 $DISPLAY 变量并得到:

echo $DISPLAY
localhost:10.0

我只使用了值 10.0,它适用于 cmd-shell 和 Powershell。

但是得到这个......我第二天(在两台机器上重新启动后)尝试了同样的事情,但它没有工作。

我使用ssh -X mymachine并登录输入xcalc并收到相同的错误消息。

(我的 $DISPLAY 是在我的 .bash_profile 中设置的,所以我不需要重置它。)

然后我再次尝试了 Putty,它成功了,并且 $DISPLAY 设置为 localhost:10.0

然后我返回到打开的 cmd-shell 并键入xcalc它并且它工作。我之前没有在那个 shell 窗口中做任何事情。这是输出

adrian@MyMachine:~$ xcalc
Error: Can't open display: localhost:10.0
adrian@MyMachine:~$ echo $DISPLAY
localhost:10.0
adrian@MyMachine:~$ xcalc
adrian@MyMachine:~$

看来,Putty 正在全球范围内做一些对其他 shell 产生影响的事情,而无需重新加载。怎么会这样?

于 2020-04-15T13:09:43.517 回答
1

Xming Server:0.0 在 IP 地址为 192.168.1.18 的 Windows 10 计算机上

所以连接到这个 X11-Server 的唯一方法是

export DISPLAY=192.168.1.18:0.0

如果仍有问题,请检查您是否在 putty 客户端中启用了 X11-forwarding。您将在 Putty 配置 > 连接 > SSH > X11 下找到它。如果您计划多次使用此设置,请不要忘记在设置 X11 转发后保存会话。会话 > 保存的会话(为您的会话输入名称)> 保存

Xming 服务器也有可能遇到问题。右键单击任务栏中的 Xming Server 图标并查看日志。如果有“IP 地址不允许”这一行,则必须编辑 Xming 安装文件夹中的文件 X0.hosts。添加您的 Linux 机器的 IP 地址。

于 2020-10-29T09:08:54.350 回答
1

这对我有用:

本地(Windows 10、Xming 服务器)

服务器(树莓派 4、树莓派操作系统)

SSH 客户端(Windows 原生 ssh 客户端)

打开 Windows 命令提示符并输入set DISPLAY=localhost:0.0,然后输入ssh -Y user@ip。使用-X表示不受信任的会话。工作得很好。

于 2021-06-27T01:29:55.267 回答