尝试将远程客户端连接到 Cygwin/X 时,我收到“需要授权,但未指定授权协议”

qwe*_*guy 11 cygwin xorg cygwin-x

我刚刚安装了 Cygwin/X 并启动它 startxwin -- -listen tcp以允许远程客户端通过 tcp 连接到它。

但是,远程客户端无法连接到远程显示器并显示以下错误消息:

Authorization required, but no authorization protocol specified
Run Code Online (Sandbox Code Playgroud)

ant*_*_rh 11

如果您使用 VcXsrv,您应该打开“禁用访问控制”设置。但请注意,此后网络中有权访问您的 X 服务器的任何人都可以在您的 X 服务器上显示他们的 UI。

  • 这里需要注意的是:如果您已经启动了 VcXsrv,请确保在禁用访问列表的情况下开始之前将其关闭:) (2认同)

qwe*_*guy 9

您需要安装xhostCygwin 软件包,并在启动 X 服务器后,运行以下命令(也在 Cygwin 上):

$ DISPLAY=:0.0 xhost <remote_hostname_or_ip>
Run Code Online (Sandbox Code Playgroud)

此命令授权<remote_hostname_or_ip>(例如 WSL Ubuntu 安装、网络中的单独 Linux 系统等)连接并使用 Cygwin/X。

  • @KenIngram 从命令中删除“xterm”,您需要将 ip 放在 xhost 之后,就像我的答案一样。 (2认同)