我有两台机器,PC1和PC2。 在PC1我有系统管理软件在第二台机器上安装 Windows 7 上的 XmingPC2我在 WSL(适用于 Linux 的 Windows 子系统)上安装了 Windows 10 和 Ubuntu 18.04,还安装了 Xming。我在两台机器上都配置了 ssh,并在 中配置了 X11 转发所需的配置(/etc/ssh/sshd_config)
。PC1我还必须设置 DISPLAY 变量:
export DISPLAY=localhost:0
我想从 PC1 ssh 到 PC2 但是遇到一个问题:以下命令可以正常工作:
ssh -Y username@PC2 gedit
它按预期在 PC1 上显示 gedit。但是当我 ssh 到 PC2 时,我启动了 gedit:
$ ssh -Y username@PC2 # Now I am logged in to PC2
$ gedit
GUI 出现在PC2代替PC1
您能解释一下第二种方法出了什么问题吗?
答案1
通过 SSH 进行 X 转发依赖于 sshd 正确设置的值$DISPLAY
,因此强制在远程系统上进行覆盖会产生干扰。如果您必须无论怎样都设置它,然后只有当它还没有值时才设置它:
: ${DISPLAY:=:0}