* WSL2で,日本語変換にfcitx-mozcをインストールしたことで起こったX-Serverの一連のトラブルと解決

:CATEGORIES: WSL2

 結論から言って,snapでインストールしたchromiumが起動できなくなり,aptでFirefoxをインストールしました。一連のトラブルは,GPUに関わる問題で,両立が難しそうでした。3時間ぐらい掛かったのか,色々とありました。

 決め手となった解決は,VcXsrvの起動オプションです。ネットの情報では,「Additional parameter for VcXsrv」に,-nowglや-acを付けるというものが多いのですが,どちらもうまく行きませんでした。

LinuxアプリをWindowsで動かそう】WSLでLinuxGUIアプリを起動する話 - べれすく! https://veresk.hatenablog.com/entry/2020/02/26/190000

 その前に次のページを参考にNVIDIAのドライバーをインストールしました。自分のパソコンにはこのGPUが搭載されています。普通のUbuntuでは標準でインストールされていたと思います。WSL2だと自前でのインストールや設定が格段に多くなります。

WSL 2 で GPU を使う(WSL 2 の Ubuntu で,CUDA や PyTorch や TensorFlow 2.2 GPU 版を動かす.Docker は使わない,Windows 10 Insider Program,WSL 2 上 の Ubuntu を使用) https://www.kkaneko.jp/tools/wsl/wsl_tensorflow2.html

 ブラウザの履歴から探し出したのですが,たぶん,次のページの方法でうまく行ったように思います。

VcXsrvのインストールと設定 | demura.net https://demura.net/misc/16325.html

 ページの説明には「Clipboard、Primary Selection、Disable access controlにチェックを入れ、Native openglのチェックを外して」とあります。

 それでもchromiumの起動では,「called with multiple threads in process gpu-process.」というエラーが出ていました。chromium --disable-gpuというGPUを無効にするらしい方法も見かけたのですが,これを実行すると即座にコアダンプが起きました。

 Google Chromeは使える見込みがなさそうだったので,先にFirefoxをインストールして試してみることにしました。デュアルブートで起動しているGoogle Chromeサスペンドから復帰後に,画面の表示がおかしくなり,たびたび再起動をしていました。GPUの相性が悪そうです。

 そのFirefoxも最初,snapでインストールしたのですが,起動時にダイアログのウィンドウが出て,フォントが全て四角い豆腐になっていました。aptでインストールしたものは,今回も日本語化の設定が必要でした。

 mozcの設定もずいぶん面倒だったのですが,次のページにまとまった情報があったので助かりました。日本語変換が出来るようになりましたが,アイコンが出ないので状態が分かりづらいです。

WSL2にFcitx+Mozcを入れて日本語入力する | AsTechLog https://astherier.com/blog/2020/08/install-fcitx-mozc-on-wsl2-ubuntu2004/

 先にEmacsでmozcを使うemacs-mozc-binをインストールしていたのですが,このときは問題が起きませんでした。しかし,他に妙な問題が発生していて,解決が出来ずにいます。今になって,少し心当たりが出てきましたが,余り期待はできません。

 ずっと前からEmacsでの日本語変換にはmozcを使い,日本語入力の切り替えを,キーボードのスペースキーの2つ右隣になる「カタカナひらがなローマ字」とあるキーに割り当てていました。

 このキーでmozcをオンにすると,ミニバッファでメッセージが激しく点滅し,暴走状態となります。他のキーを押すとおさまって日本語変換ができるようになるのですが,次にキーを押しても永遠にオフにならないのです。

 平成15年当時のEmacsは,Ctrl+\で日本語の切り替えをするのが一般的になっていたので,試したところそれだと問題なくmozcの切り替えが出来るようになりました。キーバインドされた関数は同じものです。心当たりは,キーの名称の違いにあります。