Open msdsk opened 2 years ago
I really should add more context to error messsages😅
Can you check if /tmp/.X0-lock
or /tmp/.X11-unix/X0
exists? If so try delete them and retry. Apparently WSL never clean up /tmp directory.
It seems have been just that, there was indeed /tmp/.X11-unix/X0
. Removing it makes it all work perfectly, thanks!
E: Though the problem seems to be persisting after reboots. Seems like I need to clean the temp folder every time.
This workaround is no longer so easy as /tmp/.X11-unix is mounted read-only to prevent deleting the socket: https://github.com/microsoft/WSL/discussions/9189
@spacebat I think this might only be issue with systemd=true
? Anyway if you're using systemd in your WSL distro, I have created this unit to mount rw tmpfs on top of the ro mount WSL makes:
# /etc/systemd/system/rw-x11.service
# Note: This is workaround to make /tmp/.X11-unix rw for wsld
[Unit]
Description=X11 remount service
After=systemd-tmpfiles-setup.service tmp.mount
ConditionPathExists=/tmp/.X11-unix
[Service]
Type=oneshot
ExecStart=/bin/mount -t tmpfs tmpfs /tmp/.X11-unix
[Install]
WantedBy=multi-user.target
Don't forget to sudo systemctl daemon-reload && sudo systemctl enable --now rw-x11.service
to run and enable the service for future boots.
this is still happening. Following mprasil it can be fixed but every time the tmp files need to be removed before wsld runs
When running wsld on wsl2 side I get an eror:
Failed to listen: Address already in use (os error 98)
. I have in my setup wsl-vpnkit and systemd which I believe might be interfering somewhere, preventing the socket from being properly established? My .wsld.toml is now just[x11]
.