注意:如果我使用腻子,并且使用localhost:0.0进行X11转发,则X11转发可以正常工作。我想使用Windows 10命令行ssh使其工作。这是我的步骤。
cmd
)ssh -X mymachine
并成功登录。export DISPLAY=localhost:0.0
xcalc
No protocol specified
Error: Can't open display: localhost:0.0
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。没事。我一直收到相同的消息。
我终于明白了。我再次使用Putty并检查了$ DISPLAY变量,然后得到:
echo $DISPLAY
localhost:10.0
我只是使用了值10.0,它对于cmd-shell和Powershell都有效。
但是得到这个...第二天(在两台机器上重新启动后),我尝试了相同的操作,但是没有用。
我使用了ssh -X mymachine
并登录类型xcalc
会收到错误消息我的$ DISPLAY已设置在我的.bash_profile中,因此无需重置它。
然后我再次尝试了Putty,它成功了,并且$ DISPLY设置为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。怎么了