Підключення для переадресації PuTTY, CygwinX та X11 відмовилися


10

Я більше не в змозі переслати X11 за допомогою KiTTY / PuTTY до CygwinX.

Я підключаюсь до машини Ubuntu Server 14.10, яка правильно налаштована для переадресації X11. Я можу ініціювати переадресацію X11 за допомогою Cygwin xterm та з інших машин Linux.

Я використовую CygwinX [1.7.34 (0.285 / 5/3)] та KiTTY 0.64.0.1 (вилка PuTTY, я також спробував PuTTY), на Win7.

Я перевірив свою змінну дисплея і спробував відключити контроль доступу xhost в Cygwin xterm.

$ echo $DISPLAY
:1

$ xhost +
access control disabled, clients can connect from any host

Мій KiTTY / PuTTY налаштований так, щоб включити переадресацію X11 і встановити правильний дисплей. Я спробував: 1 і: 1.0.

KiTTY X11 Налаштування екрана

Коли я SSH на сервер, встановлюється мінлива DISPLAY і xauth оновлюється. Я видалив свій .Xauthority і відтворив його для підтвердження.

user@server:~$ echo $DISPLAY
localhost:10.0
user@server:~$ xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  3983b2d7f3d5f9f66d9796997771bf82

При спробі запуску програми X11 я отримую таку помилку.

user@server:~$ xterm
KiTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xterm: Xt error: Can't open display: localhost:10.0

XWin.exe прослуховує порт 34576, якщо це має значення.

[XWin.exe]
 TCP    127.0.0.1:34576        0.0.0.0:0              LISTENING

Я вважаю, що у мене немає проблеми з програмним забезпеченням або конфігурацією, оскільки я бачу це з кількома серверами та клієнтськими машинами. Будь-яка допомога буде вдячна.


$DISPLAYна віддаленій машині має вказувати адресу вашого робочого столу, а не localhost.
lcd047

2
@ lcd047 Ні, абсолютно зараз. $DISPLAYна віддаленій машині має вказувати на localhost. SSH робить експедирування.
Жил "ТАК - перестань бути злим"

Я встановив 32-бітний Cygwin для усунення Cygwin64 як змінної. Без змін. Все-таки при отриманні з'єднання відхилена помилка.
SeeJayEmm

@Gilles: Я намагався зробити те, що оскільки $DISPLAY на віддаленій машині не вказано на робочий стіл OP, переадресація X11 не відбулася . В іншому випадку $DISPLAYна віддаленій машині може навіть не існувати, якщо на віддаленій машині сам не працює X-сервер (що так чи інакше не має нічого спільного з початковим запитанням).
lcd047

3
@ lcd047 Ні. Будь ласка, перевірте свої факти. Якщо переадресація X11 відбудеться, тоді DISPLAYвказує на localhost. SSH прослуховує порт TCP на віддаленій машині та передає пакети. Якщо DISPLAYвказувати на локальну машину, це вказувало б, що вона передається не через SSH, а на пряме TCP-з'єднання - у чіткому тексті та, можливо, на IP-адресу, яка навіть не має маршруту.
Жиль "ТАК - перестань бути злим"

Відповіді:


9

Гаразд, я зрозумів рішення власної проблеми.

За замовчуванням CygwinX більше не слухає з'єднання tcp (Cyg SSH використовує Unix-розетки для підключення). Щоб увімкнути з'єднання tcp, до параметрів командного рядка потрібно додати "-listen tcp". У моєму випадку я змінив значок "XWin Server", щоб прочитати:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"

Це чудово працює для мене, дякую! Але як я можу уникнути необхідності xhost +localhost(або безпечнішого рішення) в локальному терміналі cygwin кожного разу, коли запускаю X-сервер?
chappjc

1
Ну, я додав xhost +localhostу startxwinправом ближче до кінця файлу, всередині останнього умовний:xhost +localhost fi exit $retval
chappjc

як щодо шпаклівки?
Брайан Томас

@BrianThomas Чи можете ви уточнити своє запитання? Що з PuTTY? Конфігурація PuTTY в моїй оригінальній публікації була дійсною. Проблема була з CygwinX.
SeeJayEmm

Ну, я мав на увазі назву "Шпаклівка не з'єднує", відповідь - на Cygwin, а не на шпаклівку, але я бачу екран шпаклівки в ОП. Як би я не зрозумів. Що стосується шпаклівки, то вирішенням моєї проблеми було переконатися, що працює лише один Xserver (XMing у моєму випадку), і що в журналі при запуску не було помилок, і його обов'язкове вказати дисплей :10працював для мене. (гаразд, я бачу, як це не стосується вашої відповіді, оскільки ваш оригінальний ОП, однак, є і інші люди тут, це питання може бути досить широким. Тож сподіваюся, що це корисно для інших.)
Брайан Томас,

0

У мене була ця проблема. Це було тому, що X-Win не працював. Якщо ви хочете, щоб X-Win запускався при запуску, перейдіть до "запуску", тоді "оболонка: запуск" і скопіюйте ярлик x-win у цю папку.


0

У моєму випадку помилка була схожа на "putty x11 з'єднання відмовлено". Я входив через Windows машину на сервер Ubuntu 16 через шпаклівку (з включеною переадресацією x11).

Спробував багато речей, починаючи від повторної генерації файлів .Xauthority до додавання магічного файлу cookie за допомогою списку xauth. Однак проблема полягала лише в тому, що сервер Xming не працював на моїй машині Windows. Як тільки я почав Xming на хост-машині (windows), на якій я нерестував шпаклівку, вхід через Putty працював як шарм.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.