はじめに
Windowsのデフォルトのconhost.exeのクソさに誰もが直面したことがあるだろう。そしてminttyやConEmuを使い始める人が出てくる。
もしくは最近だとVisual Studio Codeのターミナルが結構優秀なのでそれを使ったりしているかもしれない。これについては前に
Visual Studio Code 15.1の統合シェルをMSYS2のbashにする
という記事を書いた。
さて、Windows10がリリースされてもう随分たつが、ConPTY APIの導入、そしてWindows Terminalの実装開始とWindowsの端末環境に大きな変化が訪れようとしている。
https://github.com/microsoft/terminal
執筆現在まだ正式リリースはされていないが、かなり完成度が高くなってきていて、割と使い物になるレベルに達している。
さて、そんなWindows Terminalでmsys2のbashを使うにはどうすればいいのか。おもむろにググったがなんとまさかの日本語の文献がヒットしない。これは私が書くしかないのでは?
ちなみに似たような事例としてgit bashを使いたいという場合もあると思うのですが、それについては
Windows Terminal で Git Bash を表示する
という記事がありました。
準備
すでにWindows Terminalはインストールされているものとする。
PowerShellをまず開いて
> [guid]::NewGuid()
を実行する。これでGUIDが取得できる。
設定
Windows Terminalを開いて、Ctl+,して「JSONファイルを開く」を押下すると設定ファイルが開く。
profiles
の項目に
{
"colorScheme": "Tango Dark",
"commandline": "cmd.exe /c \"set MSYSTEM=UCRT64&& set MSYS=winsymlinks:nativestrict&& C:/msys64/usr/bin/bash.exe --login\"",
"font":
{
"face": "HackGen Console",
"size": 11
},
"guid": "{ada3a928-56a1-4bcf-b0e5-efb7c167a359}",
"hidden": false,
"icon": "C:\\msys64\\ucrt64.ico",
"name": "MSYS2 UCRT64",
"opacity": 84
},
のように記述する。最初からPowerShellやらコマンドプロンプトの設定が記述されていると思うが、ここでの記述順がそのままメニューでの並びになる
opacity
透過率設定。デフォルトでは透過しない。
colorScheme
いくつかは既定のカラースキーマがあるほか、schemes
のところに自分で追加することでそれを呼び出すこともできる。
こういうのとか。
commandline
環境変数を設定するような項目はどうも見当たらないのでcmd.exe
の引数で頑張ることで実現する。
環境変数の意味は
Visual Studio Code 15.1の統合シェルをMSYS2のbashにする
でもみてほしい。
font.face
多分省略できるしDejaVu Sans Mono
とかとか好きなのを使えばいい。ちなみに例示したHackGen
は
【文字幅 半角3:全角5 も追加】Ricty を神フォントだと崇める僕が、フリーライセンスのプログラミングフォント「白源」を作った話
で紹介のあるフォントだ。
font.size
フォントサイズ
guid
先程取得しておいたGUIDをここに書く。
ちなみにdefaultProfile
にここと同じGUIDを書けばそのプロファイルが規定になる。
動作例
(図は透過させてないものです)