不具合
何日か前から別のマシン上にある複数のWSL2環境でGUIアプリを使おうとすると
qt.qpa.xcb: could not connect to display :0
や
Display :0 unavailable
のようなエラーが頻発するようになった。何回か再起動をしたら治ったりする。
暫定的な対処法
根本的な要因はわからないが、特に何も指定していなければ
$ echo $DISPLAY
:0
となっているはずだが、/tmp/.X11-unix
や/mnt/wslg/.X11-unix
の中身が本来はX0
があるべき箇所に
$ ls /tmp/.X11-unix
X3
$ ls /mnt/wslg/.X11-unix
X3
など場合によっては他の数値のソケットファイルがなぜかできるようになっていた。
暫定的な対処法としてX3
ができていたら
$ export DISPLAY=:3
$ echo $DISPLAY
:3
とすれば再びGUIアプリが表示できるようになる。
追記
- https://github.com/microsoft/wslg/issues/815
-
https://github.com/microsoft/wslg/issues/818
wslgでバグ報告されていたのでそのうち直ると思う。