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
は関係ないですね.