Wsl2运行gui软件提示Can‘t open display: :0

💡太长不看/TLDR: 符合以下条件2个以上的,尝试运行下面这个命令:

  1. WSL2 的最新更新为 2.1.5(或之前的 1 个测试版)
  2. Systemd 正在启用
  3. 非 Ubuntu(也许是非 Debian)发行版
sudo rmdir /tmp/.X11-unix && sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix

如有代码复制或者积分问题,欢迎来我的博客阅读,没有也欢迎~

最近遇到一个奇怪的问题,我的wsl2的Manjaro系统不能正常运行带gui的程序,会提示

Error: Can't open display: :0。奇怪是ubuntu却可以正常运行。

幸运的是,我带着这个问题搜索在SuperUser上找到这样一篇提问。Cannot open graphical applications in WSL2 on Arch, but works on Ubuntu - Super User

符合以下三个条件之二就会遇到这个问题。

恰好在范围内

接下来按照文章的提示有两种解决方法:

方法一:关闭systemd:

方法二:帮wslg解决空目录问题

sudo rmdir /tmp/.X11-unix && sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix

参考这部分代码添加系统服务,避免每次重启都要输入。

[Unit]
Description=symlink /tmp/.X11-unix
After=systemd-tmpfiles-setup.service

[Service]
Type=oneshot
ExecStart=rmdir /tmp/.X11-unix
ExecStart=ln -s /mnt/wslg/.X11-unix /tmp/

[Install]
WantedBy=sysinit.targe

📎 参考文章

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值