Як змусити X11 переадресацію працювати на Windows за допомогою PuTTY та Xming?


16

Я завжди хотів змусити X11 Forwarding працювати з PuTTY, а система X Window, яку я використовую, - це Xming. Коли у мене працює Xming і я встановлюю нове з'єднання зі своїм сервером, після команди я отримую наступне:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
** (gedit:6990): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
** (gnome-system-monitor:7024): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

Як виправити ці помилки і змусити X11 Forwarding працювати в цілому?


Як це виправити?
user568109

Вам слід створити обліковий запис, задати нове запитання, а потім пов’язати його тут, щоб я міг його бачити.
NobleUplift

Відповіді:


9

Скопійовано з: http://www.math.umn.edu/systems_guide/putty_xwin32.html

Налаштування шпаклівки

  • Додати ім'я хоста Unix
  • Переключити протокол на SSH
  • Введіть назву сеансу в збережених сесіях
  • Натисніть "Зберегти"

<img src = 'putty_xwin32 / default_putty_rev-sm.png' />

  • Розгорніть вкладку "SSH" зі списку "Категорія"
  • Виберіть "X11" зі списку "SSH"
  • Поставте прапорець "Увімкнути пересилання X11"

<img src = 'putty_xwin32 / xfwd_putty_rev-sm.png' />

  • Виберіть "Сесія" зі списку "Категорія"
  • Натисніть "Зберегти"

Запуск X-сервера в Windows

Налаштування Xming

Просто запустіть "Усі програми> Xming Xming", і він повинен працювати, якщо налаштовано PuTTY.

Підключення

  • Почніть Xming
  • Початкова шпаклівка
  • Двічі клацніть на збереженому сеансі, який потрібно

<img src = 'putty_xwin32 / session_putty_rev-sm.png' />

  • Введіть ім'я користувача та пароль відповідно до запиту
  • Тепер ви маєте змогу запускати програми X із хоста на локальному робочому столі

EDIT: Щоб виправити wrong authentication protocol attemptedпомилку, спробуйте увімкнути “ForwardX11Truted yes” у файлі / etc / ssh / sshd_config та перезавантажте сервер OpenSSH.


Я буквально прочитав саме той самий посібник (саме так я дізнався про Xming), але виявив його зовсім марним, бо він або розповів мені речі, які я вже знав, або міг розібратися, просто запустивши дві програми.
NobleUplift

Мені вдалося змусити переадресацію X11 працювати, але я вважаю, що ця відповідь є межею щодо того, що ви можете зробити для цього. Я не знаю, чому моє запитання взяло -1, хоча ...
NobleUplift

Як це вирішує проблему. Це просто підручник по налаштуванню x на ssh.
user568109

@ user568109 Якщо ви дотримуєтесь цих вказівок та спробуєте викликати будь-яку програму на основі GUI, вона відображатиметься локально.
Круг

7
ForwardX11Trustedнам налаштування на стороні клієнта. Це sshd_configне матиме ефекту в кращому випадку і не дозволить серверу SSH запуститися в гіршому випадку. -1. Це sshd_configпорівняно, ssh_configякщо ви шукаєте manсторінки.
0xC0000022L

16

У мене було 2 проблеми, і я виявив, що це питання має найближчі мої проблеми, тому я вважав, що моє рішення буде корисним для інших, хто потрапить сюди, намагаючись виправити ту ж проблему, що і я. У моїй системі є Cygwin / X (xinit 1.3.4-5) та PuTTY (0.64). Мені вдалося дістатись до нижньої частини цього, встановивши обидва --listen tcp на локальному стартбіні та передавши шлях до .Xauthority to putty.

По-перше, посилаючись на "проксі-сервер PuTTY X11: не вдається підключитися до пересланого сервера X: помилка мережі: відключення з'єднання", потрібно змусити X сеанс прослуховувати з'єднання: відкрити термінал cygwin та відредагувати / usr / bin / startxwin знайти рядок ...

defaultserverargs="-multiwindow"

і змінити його на ...

defaultserverargs="-multiwindow -listen tcp"

По-друге, у відповідь на помилку "Потрібна авторизація, але не вказано протокол авторизації", вам потрібно змусити шпаклівку використовувати правильні маркери xauth (здається, що все-таки відбувається всередині шпаклівки, так що xauth listлокально не дає маркерів, якими може переадресоване з'єднання використовувати передаючи їх xauth add <token>, їм, здається, потрібно встановити PuTTY під час з'єднання, щоб вони працювали).
Знайдіть шлях у домені Windows, де запускається ваш файл ~ / .Xauthority (знову в терміналі cygwin)

cd ~
explorer .

Ознайомтеся з властивостями у файлі .Xauthority та запишіть до нього розташування (виберіть його та натисніть CTRL + C, щоб помістити його в буфер обміну).

Запустіть PuTTY як у наведеному вище прикладі (скопійовано з http://www.math.umn.edu/systems_guide/putty_xwin32.html )

На сторінці "Параметри керування переадресацією SSH X11" вам слід встановити "Увімкнути переадресацію X11", а "MIT-Magic-Cookie-1" встановити як протокол.
У полі "Файл повноважень X для локального відображення" натисніть кнопку Огляд і за допомогою пункту Розташування до .Xauthority-файлу, про який ви робили раніше повідомлення, знайдіть файл .Xauthority. Клацніть Відкрити, щоб заповнити поле, а потім поверніться до сесії (у конфігурації PuTTY) та збережіть сеанс. Потім ви можете натиснути відкрити.

Тепер він повинен дозволяти вам підключитися.


3
Мені також потрібно було встановити X authority file for local displayточку на мою .Xauthorityпапку в моєму cygwinдомашньому каталозі. Дякую!
HeatfanJohn

0

Ти можеш

xauth list

потім

xauth add <your display>

2
Командний рядок є xauth add dpyname protoname hexkey.
NobleUplift

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