5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLでXの設定に失敗しているのでそれを修正するサービス作った(場当たり的解決)

Last updated at Posted at 2024-03-08

最近になって、このディレクトリがread-only filesystemになってサービス実行が失敗しているようなので、問題が修正されている可能性があります。

場当たり的解決ですが、WSLでXの起動に失敗するので、次のようなサービスを定義しました。
(systemdと組み合わせていると起こりやすい問題らしい?)

具体的には例えば、xeyesを起動しようとすると次のようなエラーが出る感じ。

Error: Can't open display: :0

/tmp/.x11-unixに正しい内容が入っていないことが原因のようなので、起動時にこのシンボリックリンクを作ってやる設定をするサービスを作成し、/etc/systemd/system/x11-socket.serviceとして保存しました。

[Unit]
Description=X11 Mitigation Service

[Service]
ExecStart=/bin/bash -c 'rm -r /tmp/.X11-unix; ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix'
Restart=no

[Install]
WantedBy=multi-user.target

これがWSL実行時に起動するように設定しました。

sudo systemctl enable x11-socket.service

一応解決。本当はなぜこの問題が起こっているのかを調査しないといけないんでしょうけど……。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?