どうもWSLgが上手く動いていないみたいです。 Xを使うアプリケーション起動すると同様のメッセージを表示して失敗します。
試したけど直らなかったこと
wsl.exe --shutdown
を実行してWSLを再起動- Windowsの再起動
DISPLAY=172.28.176.1:0 xeyes
を実行- エラーは出なくなりますが、表示はされません
Diagnosing "cannot open display" type issues with WSLg · microsoft/wslg Wiki · GitHub によると
X servers create their socket under /tmp/.X11-Unix. This directory must exist and must be linked to /mnt/wslg/.X11-Unix where WSLg built-in X server create it's socket.
とあります。
Disabling WSLg (or using it together with X410) - X410.devを参考にして、.wslconfig
を編集してWSLgを無効化します。
WSLを再起動すると
その他の関係ありそうなissueです。
- WSL 2 Ubuntu-20.04 wslg/.X11-unix is empty, cannot connect to display :0 · Issue #8946 · microsoft/WSL · GitHub
- WSL 2 Error: Can't open display: localhost:0.0 · Issue #6430 · microsoft/WSL · GitHub
- Can't open display: :0 after enabling systemd · Issue #8899 · microsoft/WSL · GitHub
- No output from `ls /tmp/.X11-unix` · Issue #844 · microsoft/wslg · GitHub
- X11 display socket in WSLg · GitHub