计算化学公社

标题: WSL2试图使用wslg打开软件时显示错误 Can't open display: :0的解决方法,以VMD为例 [打印本页]

作者
Author:
Medivan    时间: 2021-12-25 11:39
标题: WSL2试图使用wslg打开软件时显示错误 Can't open display: :0的解决方法,以VMD为例
本帖最后由 Medivan 于 2022-2-17 16:55 编辑

上一帖说到用VcXsrv+xfce4实现在Windows下显示wsl的软件窗口  
本贴是另外一种方法,使用官方的WSLg,在这里总结一些操作过程中遇上的一些问题和我做的处理  
最常出现的问题是第3点,因此使用alias使我们可以快捷地方便地运行这两个命令,详细做法请看最后一点
   
正常安装VMD
然后在终端输入vmd
显示Can't open display: :0  
如何解决参考:https://github.com/microsoft/wsl ... pe-issues-with-WSLg  

1、版本问题  
首先确认windows版本以及wsl是否已经update  

2、环境变量被改  
由于某些设置可能导致一些wslg依赖的值出现改变,最好在自己的.bashrc文件中加入以下内容:  
# display
export DISPLAY=:0
export WAYLAND_DISPLAY=wayland-0
export XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
export PULSE_SERVER=/mnt/wslg/PulseServer

3、.X11-Unix的问题
输入ls -la /tmp/.X11-unix
若显示不是 lrwxrwxrwx 1 spronovo spronovo 19 Apr 21 15:28 /tmp/.X11-unix -> /mnt/wslg/.X11-unix则存在问题
需要重新设定该文件
步骤如下:
sudo rm -r /tmp/.X11-unix
sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix


验证:
输入ls /tmp/.X11-unix,会显示X0
输入ls -la /tmp/.X11-unix,会显示 ……/tmp/.X11-unix -> /mnt/wslg/.X11-unix

---------------------------------------------
若经常性发生错误且每次都是第3点的情况,则做以下操作:  
在~/.bashrc中加入  

# wslg
alias x11="sudo rm -r /tmp/.X11-unix && sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix"
重启终端  
此后再遇到一样的问题则只需要输入x11即可解决  
x11只是命令名称,可以改为你自己喜欢的命令  
---------------------------------------------

若到这还没解决问题,请自行查阅资料或将你的问题提交到官方issue中




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3