Я использую Putty на машине Windows, чтобы ssh на другой сервер. Оказавшись там, я пытаюсь использовать переадресацию X11, чтобы открыть окна на моем компьютере. Удаленная система не является проблемой, поскольку это большая система, которая успешно используется многими другими пользователями таким же образом.
Я захожу в систему через Putty без проблем, а затем запускаю startxwin
в cygwin. Однако после запуска xterm
в Putty мне выдается ошибка, в xterm Xt error: Can't open display: localhost:##.0
которой знаки фунта представляют собой два целых числа, значение которых меняется при каждом входе в систему.
- У меня включена переадресация X11 в настройках Putty
- Я попытался установить "X display location" в
localhost:0
- Я гарантированно загрузил пакет X11 для Cygwin
- Я пытался использовать только
startx
вместоstartxwin
- Я пытался
setenv DISPLAY localhost:0
иsetenv DISPLAY my.ip.address
К сожалению, проблема сохраняется. Я исчерпал ресурсы Googling по этой теме, и поэтому буду очень признателен за любую помощь. Благодаря!
localhost:##.0
Какие реальные цифры вы видите здесь? Какое программное обеспечение X вы используете на компьютере с Windows?Ответы:
Последние обновления Cygwin изменили свой X-сервер, чтобы он не прослушивал TCP-соединения по умолчанию. Вместо этого Cygwin X использует (реализация Cygwin) доменные сокеты Unix, а PuTTY (как нативная программа Windows) не знает, как их использовать.
В Cygwin X Часто задаваемые вопросы и Cygwin рассылки списков больше деталей.
Мое решение состояло в том, чтобы взять стандартный ярлык Cygwin, который использует startxwin для запуска X:
и замените его прямым вызовом xinit с моими желаемыми параметрами (добавьте
-listen tcp
и удалите-auth
):Это менее безопасно, чем новые значения по умолчанию Cygwin; его следует использовать только в однопользовательской системе, и настройка вашего брандмауэра для блокировки подключений к XWin может быть целесообразной.
источник
В качестве альтернативы тому, что сказал Джош Келли, вы также можете отредактировать файл startxwin и добавить «-listen tcp» к параметрам сервера по умолчанию.
Старый: defaultserverargs = "- многооконный"
Новое: defaultserverargs = "- multiwindow -listen tcp"
Также с включенной аутентификацией мне пришлось указать putty на файл аутентификации, созданный скриптом startxwin. Моя была расположена здесь: c: \ cygwin64 \ home \ USERNAME.Xauthority
Поскольку этот файл воссоздан, вам придется перезапускать сеансы замазки после сброса вашего xserver.
В целях безопасности вы также можете разрешить соединения только с локального хоста, так как именно здесь putty передает его.
источник
Пожалуйста, попробуйте установить «X display location» на «: 0.0»!
Джош Келли упомянул Cygwin X FAQ :
источник
Это для xming, но, возможно, этот FAQ какой-то помощи? Идея та же, но с использованием xming вместо cygwin на вашей локальной машине. https://wiki.utdallas.edu/wiki/display/FAQ/X11+Forwarding+using+Xming+and+PuTTY
источник
Как уже говорили другие, хитрость заключается в добавлении
-listen tcp
к серверу аргументов. Тем не менее, я рекомендую сделать это, позвонив,startxwin -- -listen tcp
чтобы позволитьstartxwin
собрать остальную частьxinit
команды.В ярлыке меню «Пуск»:
источник