芋の独り言

当ブログへのアクセスは当ブログのプライバシーポリシーに同意したものとみなします.

WSLでGUIが使える方法があるようですが...

royalwin.blog.ss-blog.jp に書いてあることをまんまやったらだいたいできたかな~という感じですが, 上手く起動しないことの方が多いかな... そこ等辺の原因・解決法はわからんが, やったことをメモとして書いておこうかと思います.

まず,”VcXsrv Windows X Server”の準備については,以下の過去記事に参考リンクとともに書いてありますので, そちらを参考にしてください. kusoimox.hatenablog.jp

”VcXsrv Windows X Server”の準備ができたら,後は以上のサイト通りにやっていきました. 念のためaptの前にsudoつけてやりました. サイトに書いてあるように私の環境でもaptのところで時間が大変かかりました...

ただ,「シェルスクリプト start-ubuntu (ファイル名は任意)を作成」に関して, 私の環境下では”VcXsrv Windows X Server”をCドライブに入れておらず,Eドライブにフォルダを作成したので, そこの記述をそのパスに書き換える必要があり,

/mnt/e/VcXsrv/vcxsrv.exe  :0 -ac -nodecoration &

と書き換えました.そのほかは同じです.

ファイルの作成まで行ったら,WSLで./start-ubuntuをコマンド入力. すると管理者のパスを要求されるのでパスを入力してEnterで”VcXsrv Windows X Server”が起動してUbuntuの 画面がそこに映し出されます.

最初,./start-ubuntuをやっても起動せず,

Gdk-Message: 22:37:20.337: gnome-initial-setup: Fatal IO error 0 (成功です) on X server 0:0.

とエラー表示されて起動しなかったんですが,WSLを管理者権限で起動してから./start-ubuntuを行うと起動しました. しかし,何回か繰り返すとうまく起動しなくなり,

(gsd-color:11281): color-plugin-WARNING **: failed to get edid: unable to get EDID for output
(gsd-color:11281): color-plugin-WARNING **: failed to create device: failed to obtain org.freedesktop.color-manager.create-device auth
(gsd-media-keys:11257): GLib-GIO-CRITICAL **: g_dbus_proxy_call_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
(tracker-miner-fs:11452): Tracker-WARNING **: Falling back to bus backend, the direct backend failed to initialize: locking protocol
(gnome-initial-setup:11431): InitialSetup-ERROR **: Failed to create proxy for timedated: Error calling StartServiceByName for org.freedesktop.timedate1: Launch helper exited with unknown return code 1

というようなエラーが表示されて起動しなくなりました... その後もうまく起動したりしなかったり... 他のサイトに書かれているコマンドも実行してますが,中々安定して起動してくれない...

また,aptdebファイルからインストールしたパッケージがアイコンをクリックして起動しても, 起動はするがボタンが反応しなかったり,WSL上で

error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

とエラーが出ていたり...

shared memfd open() failed: 関数は実装されていません 
PulseAudioService: pa_context_connect() failed 
composeAndFlush: makeCurrent() failed VcXsrc

も出てた.
とりあえずググって見たサイトより,

$ apt-file search libQt5Gui.so.5
$ apt-file search libQt5Core.so.5

でlibQt5Core.so.5のパスを確認してstrip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5を実行するも う~ん解決しない... sudo apt remove wsluもやったなぁ...

んで,ふと自身の過去記事

~$ cd
~$ nano .profile
export DISPLAY=:0.0
~$ source .profile

を実行.export DISPLAY=:0.0は書いてあったのだが, 実行後はaptdebファイルからインストールしたパッケージが起動して使えるようになった... もしかしてsource .profileなのか? まぁ,他にも色々コマンドを覚えてないけど試したからどれが効いたのかよく分からない...

他にデフォルトで入ってたビデオでmp4を再生しようとしたら,

shared memfd open() failed: 関数は実装されていません
PulseAudioService: pa_context_connect() failed
QNetworkRequest::setHeader: QVariant of type QByteArray cannot be used with header User-Agent

とエラーがでて再生できなかった...

$ sudo nano /etc/pulse/client.conf
$ sudo nano /etc/pulse/default.pa

をやってみたら,一時的なもんかもしれないけど

(gnome-initial-setup:9725): InitialSetup-ERROR **: 03:38:18.651: Failed to create proxy for timedated: Error calling StartServiceByName for org.freedesktop.timedate1: Launch helper exited with unknown return code 1

とエラーが出てしまった. 時間をおいてWSL起動したらGUIが立ち上がったが. Windows側の準備というのもよくわからん. 一応ダウンロードしてきたけど,う~む...

とりあえずここまでにしておこう~

他の参考リンク