1. はじめに
WSL に最適化した Linux ディストリビューション WLinux のアナウンスの中で,X410 の情報があったので試してみました.WLinux は情報が出てくるまでしばらく様子見します.X410 が 88% オフの 580円 だったのも購入した要因の一つです.定価の 4,650 円なら試してないかもしれません.
2. X410
動作確認
Microsoft Store から X410 をインストールします.他の X Server (VcXsrv など) が動作を止めて,X410 を起動します.他の X Server などを動作させていたなら設定されていると思いますが,環境変数などの設定をします.ターミナルから下記のように設定てして,X アプリを起動します.
$ export DISPLAY=localhost:0.0
$ export LIBGL_ALWAYS_INDIRECT=1
動作に問題がなければ,上記設定を,~/.bash_profile などに追加します.
ターミナルの変更
今までは,Hyper を使っていましたが,更新もあまりされなくなった(?)ので,Linux のターミナル tilix に乗り換えます.apt を使ってインストールします.手順はここ にあります.
$ sudo -E apt install tilix
$ sudo -E apt install libsecret
$ sudo -E apt install dbus-x11
$ dbus-launch --exit-with-x11
$ tilix &
dbus-launch の起動でエラーがでたら上記サイトを参考にしてください.私は問題なく動作してので試していません.
このままでは,ログインシェルにならないので,tilix の設定から Run command as a login shell にチェックをいれます.
tilix 起動時に Vte-WARNING が表示されますが,Ubuntu の libvte が PCRE2 をサポートしなくなったのが要因のようですが,私の使っている範囲では,問題がないので放っておきます.気になる方は,他のターミナルを使うのが良いかと思います.
このままだと,tilix の起動が面倒なので,ここ と ここ を参考に設定します.
適当な場所に,bat-launcher.vbs,open-x410-wsl-shell.bat を作成します(私は,C:\Programs\bin\wsl です).
If WScript.Arguments.Count <= 0 Then
WScript.Quit
End If
bat = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) & WScript.Arguments(0) & ".bat"
arg = ""
If WScript.Arguments.Count > 1 Then
arg = WScript.Arguments(1)
Else
arg = "c:\home\xxx"
End If
CreateObject("WScript.Shell").Run """" & bat & """ """ & arg & """", 0, False
(c:\home\xxx は, WSL のホームディレクトリです.)
@echo off
REM ### Start X410 in Windowed Apps Mode. If X410 is already running in Desktop Mode,
REM ### it'll be terminated first without any warning message box.
start /B x410.exe /wm
REM ### Setup a D-Bus instance that will be shared by all X-Window apps
ubuntu1804.exe run "sh -ic 'if [ -z \"$(pidof dbus-launch)\" ]; then export DISPLAY=localhost:0.0; dbus-launch --exit-with-x11; fi;'"
REM ### Go to the selected folder path and open your terminal app
ubuntu1804.exe run "exec tilix --display=localhost:0.0 --geometry 90x90-0-0 --working-directory=\"$(wslpath '%1')\""
(tilix の引数は適当に設定してください.)
あとは,コンテキストメニュー(右クリック)の新規作成からショートカットを作成します.項目の場所に
wscript.exe "c:\Programs\bin\wsl\bat-launcher.vbs" "open-x410-wsl-shell" にして,名前を tilix にします.アイコンなどは好みに応じて変更してもいいと思います.ショートカットをダブルクリックすると,tilix が X410 経由で起動します.
不具合
少し使っていたら,pipenv shell がクラッシュしたので,tilix の不具合かなと思って検索したら ここ に引っ掛かりました.どうやら pipenv 側の不具合みたいなので,アップデートされるまでは,export PIPENV_SHELL="$SHELL" を設定してしのぎます.
Emacs
基本的には,ターミナルから起動することが多いのですが,直接起動したいときもあるので,ショートカットを作成します.bat-launcher.vbs と同じところに start-emacs.bat を作成します.
@echo off
REM ### Start X410 in Windowed Apps Mode. If X410 is already running in Desktop Mode,
REM ### it'll be terminated first without any warning message box.
start /B x410.exe /wm
REM ### Start Emacs
ubuntu1804.exe run "cd \"$(wslpath '%1')\"; export DISPLAY=localhost:0.0; exec /bin/bash -lc emacs
tilix と同じようにショートカットを作成して,場所を wscript.exe "c:\Programs\bin\wsl\bat-launcher.vbs" "start-emacs" にします.ダブルクリックして Emacs が起動することを確認します.
3. おわりに
取り敢えずしばらく使ってみます.Windows 側のフォントも /etc/fonts/local.conf でできるようですが,もろもろ影響がでそうなので止めておきます.fontconfig の設定で X410 は関係ないですね.