При попытке подключения удаленных клиентов к Cygwin/X я получаю сообщение «Требуется авторизация, но протокол авторизации не указан»

При попытке подключения удаленных клиентов к Cygwin/X я получаю сообщение «Требуется авторизация, но протокол авторизации не указан»

Я только что установил Cygwin/X и запускаю его, startxwin -- -listen tcpчтобы разрешить удаленным клиентам подключаться к нему через TCP.

Однако удаленным клиентам не удается подключиться к удаленному дисплею, и появляется следующее сообщение об ошибке:

Authorization required, but no authorization protocol specified

решение1

Если вы используете VcXsrv, вам следует включить«Отключить контроль доступа»настройка. Но учтите, после этого любой из Сети, имеющий доступ к вашему X-серверу, может отображать свой пользовательский интерфейс на вашем X-сервере.

решение2

Вам необходимо установить xhostпакет Cygwin и после запуска X-сервера выполнить следующее (также в Cygwin):

$ DISPLAY=:0.0 xhost <remote_hostname_or_ip>

Эта команда разрешает <remote_hostname_or_ip>(например, установке WSL Ubuntu, отдельной системе Linux в сети и т. д.) подключаться к Cygwin/X и использовать его.

решение3

Я запускаю xinit 1.4.1-1 и xorg-server 1.20.4-1 с PuTTY 0.72. Как и вы, я добавил параметры startxwin " -- -listen tcp". Я просто сделал это для ярлыка X-Win Server в C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Cygwin-X. Мне также нужно было включить переадресацию X11 и указать путь к файлу .Xauthority в конфигурации PuTTY. PuTTY может изменять файл .Xauthority напрямую без xhost.

Шпатлевка X11

Связанный контент