windows - VcXsrv 基于主机的访问控制不起作用

标签 windows xserver

互联网上的所有 VcXsrv 示例都是在禁用访问控制和“-ac”开关的情况下运行的。但实际上我想打开基于主机的访问控制,目前还没有用。

首先,我使用 -auth 开关从名为 pc1 的 Windows 10 PC(最新版本/补丁)启动 VcXsrv。

> "C:\Program Files\VcXsrv\vcxsrv.exe" :0 -multiwindow -clipboard -wgl -auth "C:\users\myname\hosts.txt"

在 hosts.txt 中,我有以下内容,其中 linux1 是远程主机名

localhost
inet6:localhost
linux1
inet6:linux1
192.168.1.191
inet6:192.168.1.191

IP 地址是 linux1 的。

但是,当我从 linux1 启动 xterm 时,出现了这个错误

linux1$ /usr/bin/xterm -display pc1:0
Authorization required, but no authorization protocol specified
/usr/bin/xterm: Xt error: Can't open display: pc1:0

本地从 pc1 运行 xhost 时,没有提及我的远程主机或其 ip。

C:\Program Files\VcXsrv>xhost
access control enabled, only authorized clients can connect
INET:pc1.mshome.net
LOCAL:
INET:pc1
INET6:pc1

因此,看起来“-auth”没有加载 hosts.txt 文件

谁能分享一些想法?

最佳答案

所以 -auth 用于不同的身份验证/访问控制机制。要使用基于主机的访问控制,请在您的 Windows 10 PC 上运行类似于以下的命令:

xhost +inet:localhost
xhost +inet6:localhost
xhost +inet:linux1
xhost +inet6:linux1
xhost +inet:192.168.1.191

(但不需要用 inet6: 显式重复最后一行,因为那是专门的 IPv4 地址。)

然后再次自行运行xhost。现在应该出现新的主机名和 IP 地址。从它们中的任何一个连接到 VcXsrv 现在应该可以工作。

关于windows - VcXsrv 基于主机的访问控制不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62845255/

相关文章:

linux - 在 Ubuntu 服务器上运行 QT-GUI 程序

windows - 批处理文件 - X 分钟后关闭计算机

java - 如何像 Tosca 那样使用 java 创建 Windows 应用程序的自动化测试?

linux - 用于使用 xautomation 登录网页的 Shell 脚本

linux - 如何将 DISPLAY 导出到另一个 linux 主机的 Xserver

linux - 从linux执行X11程序

xserver - XCreateGC 函数性能

wpf - 用 WPF 应用程序替换 Windows shell

.net - 如何打包一个单文件的Windows EXE文件供下载?

windows - 如何在PowerShell中查询Windows 10设备的经纬度?