gpt4 book ai didi

x11 - 如何设置 VcXSrv 以与 WSL2 一起使用

转载 作者:行者123 更新时间:2023-12-04 07:54:34 25 4
gpt4 key购买 nike

如何在 Windows 10 上设置 VcXSrv.exe 以在不禁用访问控制的情况下使用 WSL2?互联网上的每个描述都显示禁用访问控制,但这允许本地网络上的任何程序记录您的击键和鼠标移动等。

最佳答案

适用于 WSL2 的 Windows 10 专业版 20H2 设置
您应该使用 .Xauthority 文件在 X11 客户端和 VcXSrv X11 服务器之间共享 key ,而不是禁用 VcXSrv 上的访问控制。 .Xauthority 包含由 DISPLAY 索引的授权 key 集合。您需要使用特定 Windows 主机的 key 设置此文件,并在 VcXSrv 和在 WSL2 发行版上运行的 X11 客户端之间共享该文件。要进行此设置,请执行以下步骤:
运行您的 WSL2 发行版(假设这是基于 debian 的发行版)并安装 xauth、md5sum 和 gawk 或 awk。我们还将安装一些 X11 客户端来测试我们的设置。在这种情况下,我们将安装 gnome-terminal,但您可以根据需要安装其他东西。在 Ubuntu 发行版上,您可以执行以下操作:

sudo apt install -y xauth coreutils gawk gnome-terminal 
xauth list # this should be an empty list
magiccookie=$(echo '{some-pass-phrase}'|tr -d '\n\r'|md5sum|gawk '{print $1}')
xauth add host.docker.internal:0 . $magiccookie
cp ~/.Xauthority /mnt/c/Users/{WindowsUserName}
将以下内容添加到 WSL2 发行版主目录中的 ~/.bashrc
     export DISPLAY=host.docker.internal:0
我们需要创建一个 XLaunch 配置文件(即 config.xlaunch )或
带有所需命令行参数的 VcXSrv.exe 的快捷方式。 XLaunch 是一个简单的启动器
这有助于设置参数并依次调用 vcxsrv.exe。我们将忽略使用 XLaunch 和
只需使用适当的参数创建我们自己的快捷方式。
我们想用这些参数运行 VcXSrv.exe:
vcxsrv.exe -multiwindow -clipboard -wgl -auth {.XAuthority file} -logfile {A Log file} -logverbose {int log level}
从上面,我们将 .Xauthority 文件复制到/mnt/c/Users/{WindowsUserName}/.Xauthority ,这意味着我们想要的命令行是:
vcxsrv.exe -multiwindow -clipboard -wgl -auth "c:\users\{WindowsUserName}\.Xauthority" -logfile "c:\users\{WindowsUserName}\VcXSrv.log" -logverbose 5
如果您不调试任何问题,请随意省略 logfile 和 logverbose 选项。所以你可以这样做:
vcxsrv.exe -multiwindow -clipboard -wgl -auth "c:\users\{WindowsUserName}\.Xauthority"
请记住将 {WindowsUserName} 替换为您在 c:\Users 下的文件夹的名称。
要创建快捷方式,请导航到 VcXSrv.exe 的安装位置。它的默认位置是
C:\Program Files\VcXSrv\VcXSrv.exe
在资源管理器文件窗口中,右键单击 VcXSrv.exe,然后单击“创建快捷方式”。这将创建一个快捷方式
在您的桌面上。
右键单击创建的快捷方式图标,然后选择属性。
在“快捷方式”选项卡中,将上述参数附加到可执行文件之后。它应该看起来像:
"C:\Program Files\VcXSrv\VcXSrv.exe" -multiwindow -clipboard -wgl -auth "c:\users\{WindowsUserName}\.Xauthority"
在“属性”对话框的“常规”选项卡中,将名称更改为“VcXSrv with XAuthority”。
单击确定。
现在您可以通过双击快捷方式来启动 X11 服务器。
如果您希望在启动时启动 X11 服务器,请按照此处的说明进行操作:
https://support.microsoft.com/en-us/windows/add-an-app-to-run-automatically-at-startup-in-windows-10-150da165-dcd9-7230-517b-cf3c295d89dd
现在回到 WSL 发行版终端,您应该能够运行
gnome-terminal 或其他 X11 客户端并使其安全显示
在 Windows 主机上运行的 VcXSrv X11 服务器上。
export DISPLAY=host.docker.internal:0
gnome-terminal
这应该会导致 gnome-terminal 显示在您的 X11 服务器上。此外,xauthority 文件将用于仅允许授权客户端连接到您的 X11 服务器。

关于x11 - 如何设置 VcXSrv 以与 WSL2 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66768148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com