Jul 13, 2020 in Dev

在 WSL2 里运行 Linux GUI 程序

在 Windows 上

1. 安装 VcXsrv

使用 Chocolatey 安装:

choco install vcxsrv

2. 打开 XLaunch

点击 Win 键搜索 XLaunch 启动,配置时确保是以下参数:

  • Multiple Windows
  • Display number = 0
  • Start no client
  • Disable access control

3. 修改防火墙权限

打开 操作面板 -> 系统和安全 -> Windows 防火墙:

firewall

然后给与 VcXsrv Public 和 Private 网络的权限:

set permission

在 WSL 里

将以下代码加入到 .bashrc 或者 .zshrc 里:

export DISPLAY=${DISPLAY:-$(grep -Po '(?<=nameserver ).*' /etc/resolv.conf):0}
export LIBGL_ALWAYS_INDIRECT=1

别忘了执行 source ~/.bashrc 或者 source ~/.zshrc

解决高分辨率屏幕上字体模糊

在 VcXsrv 应用图标上右键,选择属性 -> Change High DPI Settings:

fix font blurry

然后在最下面选择 Application:

image.png

然后再到 WSL 里将以下代码加入 .bashrc.zshrc:

export GDK_SCALE=2

窗口里的鼠标指针过小

参考 这个回答 可以解决。

最后在 WSL 里运行 WebStorm 的效果

webstorm on wsl