WSL上のGUIアプリケーションの設定いろいろ、SandSとかキーリピート加速とか
X410というX Window Serverがかなり便利。X WindowをVNCみたいにまるっと表示するのではなくて、アプリケーション毎にWindowを分けて表示してくれるモードがあり[1]、LinuxのGUIアプリを普通のWindowsアプリと同じように扱える。
ただあくまでLinux上で動いているものなので、フォントとか日本語入力とか、キーボード周りの設定とかはもちろんLinux側で設定する必要がある。
日本語入力に関しては、それが必要なアプリは自分の使うアプリではいまのところEmacsしかないが、Emacsはそれ自体で日本語入力が可能なので特に設定する必要がない。
自分がEmacsのためにインストールしたのは以下:
# Emacsで使ってるメインフォント
yay -S otf-source-han-code-jp
# 英数日本語以外&絵文字用
yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji
# skkserv
yay -S yaskkserv
# for SandS
yay -S xcape
skkservは使わずでローカルの辞書だけでもskkはうごくのだが、 yaskkservはここにも書いたけど、入力した単語がローカル辞書に見つからなかった場合にGoogle検索を利用してくれるので、新語や人名の入力に便利なので使っている。 一度入力したものは個人辞書のほうに追加されるので、毎回Googleにアクセスがいくわけではないので安心して良い。
またyaskkservはArchLinuxパッケージ付属のsystemd unitファイルはbindアドレスが指定されていなくフルオープンになってしまうので、
# ~/.config/systemd/user/yaskkserv.service
[Unit]
Description=Yet another SKK Japanese input method dictionary server
[Service]
ExecStart=/usr/bin/yaskkserv_hairy --no-daemonize --address 127.0.0.1 --google-japanese-input=notfound /usr/share/skk/SKK-JISYO.L.yaskkserv
[Install]
WantedBy=default.target
みたいな127.0.0.1にバインドするuser unitを自分で作って起動してる(WSL2の場合)。WSL1では使う時に毎回手動で起動しているw
あと個人的に必須といえるのがSandSおよびキーリピート加速だが、これはLinuxの時に使っていたものがそのまま使える。
# SandS
xmodmap -e 'keycode 255=space'
xmodmap -e 'keycode 65=Shift_L'
xcape -e '#65=space'
# キーリピート
xset r rate 200 100
みたいな感じ。
あと、Windows側のSKKFEPとかでSandSの設定をしていると、そのままだとX Windowアプリのほうのスペースの挙動がおかしくなるので、入力ソースを別のもの(Englishとか)にしてあげる必要がある。 その時に全体の入力ソースが変わってしまうとアプリ切り替えるたびにソースを変更しなおす必要があってかなり面倒なので、Windows側の設定でアプリ毎に別の入力ソースを使える設定にしておくと良い。
↑のチェックボックスのところ。
こんなかんじでいろいろやると、Windows上でも違和感なくLinuxアプリが使える。いろいろやっていることが(当たり前だが)完全にLinuxでやってたことと同じなので、Linuxデスクトップを使っている人は自然に使えるはず。
あとやっぱウィンドウマネージャさえなんとかなればな〜〜という感じがいなめない。bug.nにはだいぶなれてサクサクつかえるようになってきたものの、やはりawesomeとちがって、
- Emacs + Chrome
- Emacs + Terminal
- Terminal + Chrome
- Terminal + Emacs
みたいな組み合せを瞬時に変えられないのがめんどくさい。いや、できることはできるのだが、そのためにはそのように設定したwindow(tag)を作っておく必要がある。 awesomeの場合はTerminalをtag0で、Emacsをtag1で、Chromeをtag2で出すようにしておいて、side-by-side表示したいときにはtag0&1を表示する、みたいにtagをくみあわせて画面をつくれるのが良いのだ。
ここさえなんとかなればWindows上でもかなり快適にすごせそうなので、がんばって自作してみるのも手かもなぁと考えはじめている。
あとは、ArchWSL/ArchWSL2の作者には足を向けて寝られない。どちらもとてもよくカスタマイズされていて、Archをこういう環境[2]にいれて使うときにハマるポイントがほぼつぶされていて、とても快適に使える。ありがたい。