写点什么

通过 WSL2 运行 GUI 程序

作者:DisonTangor
  • 2022-12-15
    上海
  • 本文字数:621 字

    阅读完需:约 2 分钟

上次我写过一篇 VGPU 和 WSL2,这回我打算写一篇关于《通过 WSL2 运行 GUI 程序》的笔记。


起因

总所周知,KVM in Linux 支持GPU passthrough(GPU 直通)功能的,就是配置稍稍多了一点。最初想试试如何在 Hyper-V 中尝试安装 VM,但是 vgpu 的文档我没有在 bing 中搜到。


幸亏想起了自己之前看到 microsoft 为 wsl2 开发 rdp 和 remotefx 实现 GUI 的项目——WSLg。因此,尝试通过 WSL2 来实现 GUI 可开发。(正常人别轻易尝试此方法,易踩坑)

准备

  • Windows 11/Windows 10 version 19044+

  • WSL2

  • Intel/AMD/Nvidia GPU driver for WSL


安装 WSL 请参考我之前的文章

现有 WSL 安装

通过管理员运行powershell


> wsl --update # WSL 更新命令> wsl --shutdown # 重启wsl
复制代码


安装最简单的 GUI 工具如 gedit


运行 cmd,通过 bash 进入 ubuntu on wsl


$ cd ~ # home$ gedit ~/.bashrc
复制代码


返回一个错误


(gedit:33): Gtk-WARNING **: 18:18:16.725: cannot open display:
复制代码

错误修复

下载VcXsrv,默认安装



在 cmd 中运行 "C:\Program Files\VcXsrv\vcxsrv.exe" :0 -multiwindow -clipboard -wgl -ac



在 bash 中运行


$ export DISPLAY_NUMBER="0.0"$ export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):$DISPLAY_NUMBER$ export LIBGL_ALWAYS_INDIRECT=1$ setxkbmap -layout us
复制代码


这时候就可以正常运行 gedit ~/.bashrc


参考


  1. 在 适用于 Linux 的 Windows 子系统 上运行 Linux GUI 应用

  2. Running graphical Linux desktop applications from WSL 2 – "Error E233: cannot open display" [closed]

发布于: 刚刚阅读数: 3
用户头像

DisonTangor

关注

怀揣一个武侠梦的男孩 2020-07-29 加入

还未添加个人简介

评论

发布
暂无评论
通过WSL2运行GUI程序_WSL2_DisonTangor_InfoQ写作社区