Я наконец понял это. Я снова использовал 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 и набрал xcalc
, и это сработало. Я ничего не делал в этом окне оболочки ранее. Вот результат
adrian@MyMachine:~$ xcalc
Error: Can't open display: localhost:10.0
adrian@MyMachine:~$ echo $DISPLAY
localhost:10.0
adrian@MyMachine:~$ xcalc
adrian@MyMachine:~$
Похоже, что Putty делает что-то глобально, что влияет на другие оболочки без необходимости перезагрузки. Как это так?