查看: 483|回复: 3
收起左侧

[系统] wsl2如何使用vcxsrv显示gui程序?

[复制链接]
小v可
发表于 2020-5-14 11:40:44 | 显示全部楼层 |阅读模式
rt,从wsl升级wsl2之后发现wsl2的ip地址由一个虚拟网卡分配导致无法链接vcxsrv显示图形化应用程序。vcxsrv也没有找到配置ip的选项,vcxrv默认就是127.0.0.1而wsl2下的linux是172.x.x.x。
小v可
 楼主| 发表于 2020-5-14 12:35:02 | 显示全部楼层
求关闭,已解决。
hez2010
发表于 2020-5-14 14:07:53 | 显示全部楼层
本帖最后由 hez2010 于 2020-5-14 14:11 编辑

我写了一个脚本可以用来在 wsl2 启动的时候自动设置 DISPLAY 的 IP,不过需要在你的 Windows 里面安装一下 powershell core 7(https://github.com/PowerShell/Po ... l-7.0.0-win-x64.msi

脚本内容:
安装好上面的东西之后,编辑 wsl2 里面的 ~/.bashrc (如果你用的是 zsh 的话则是 ~/.zshrc)文件,在里面的最后加入以下代码:
  1. ip_addr=${$(pwsh.exe -c '(Get-NetIPAddress -InterfaceAlias "vEthernet (WSL)" -AddressFamily "IPv4").IPAddress')%?}
  2. export DISPLAY=$ip_addr:0
复制代码
然后就可以正常使用了

注意上述代码因为会在 wsl 里面调用 Windows 的 PowerShell,会导致wsl首次启动时间变长
小v可
 楼主| 发表于 2020-5-14 15:44:23 | 显示全部楼层
hez2010 发表于 2020-5-14 14:07
我写了一个脚本可以用来在 wsl2 启动的时候自动设置 DISPLAY 的 IP,不过需要在你的 Windows 里面安装一下  ...

这个方法我试过,用打开的gui应用在调用其他gui应用就会出错,比如用这个脚本打开terminal在从terminal打开其他应用依然提示找不到显示输出。解决方法是直接修改.bashrc,参考了外网的一篇文章。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 21:36 , Processed in 0.123669 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表