Profilesの機能強化
Windows Terminalは、設定をjson形式のprofile.jsonとして受け付けるようになっている。メニューの「設定」を選択すると、profile.jsonというファイルが生成され、これを前述のjsonエディタ(なければメモ帳)で開くようになっている。
10月にリリースされたVer.1910からは、デフォルト値が定まり、これをdefault.jsonというファイルに出力できるようになった。このファイルを出力するには、Altキーを押しながらメニューの「設定」を選択する。default.jsonは、単にデフォルト値を出力するだけで、編集しても無視される。
実際の設定値は、default.jsonが適用され、それをprofile.jsonが上書きする。このため、defaul.jsonに定義されている項目は、profile.jsonでは指定する必要がない。このVer.1910以前は、すべての設定をprofile.jsonに指定する必要があったが、Ver.1910からは、その差分だけ定義すればよい。このため、大幅にprofile.jsonの内容を削減できる。
たとえば、keybindings(キー割り当て)やschemes(色の定義)は、デフォルトのままで良ければ、profile.jsonに記述する必要がない。また、Powershellとcmd.exeに関しては、デフォルトのProfilesが定義されているため、profile.jsonでは何も定義しなくてもよい。
profilesの上書きは、guid単位で判定されるため、違うguidを定義すれば、別のprofilesとして認識されるし、default.jsonと同じguidを使えばデフォルト値が上書きされる。keybindingsに対しては、default.jsonで行われているキーの組合せに対して「null」コマンドを割り当てることで解除できる。
また、WSL/WSL2ディストリビューションが自動登録されることもあり、Profilesには"hidden"という項目が追加された。これをtrueにすると、メニューには表示されない。WSL/WSL2のディストリビューションなどは、profile.jsonから削除しても、Windows Terminalが自動的にプロファイルを追加してしまう。このとき"hidden"を使うことでメニューに表示しないようにできる。
機能が充実してきたWindows Terminalだが、現時点では、IMEが起動せず、日本語の入力ができない状態にある。このため、プログラミングといった用途にはキツいが、WSL/WSL2を使ったコマンドラインの処理などには十分な機能がある。
Windowsのcmd.exeは長らく使われてきた環境だが、MS-DOSを源流に持つため、その機能にはかなり制限がある。これを補おうとして開発されたのがPowerShellだが、クセが強すぎてなじめない人も少なくない。これに対して、WSL/WSL2では、Unix由来のシェルが利用でき、これに慣れたユーザーも多い。cmd.exeからWSL/WSL2のシェルを起動して処理させるといった作業は、比較的簡単にできる。
たとえば、ソートや重複排除(uniq)、正規表現検索(grep)、ストリームエディタ(awkやsed)を利用してテキストファイルから必要な情報を得るといったことは簡単に可能になった。もちろん、WSLを起動してもいいし、cmd.exeからパイプラインなどで呼び出すこともできる。
cmd.exeとWSL/WSL2の組合せのメリットは、ファイル指定はWin32側の表現で可能という点だ。こうした作業をするのに、Windows Terminalは従来のconhost.exeよりも多くの利点を持つ。たとえば、UTF-8文字コードの扱いなどである。Windows Terminalは、来年4月にv1.0が完成予定で、年内には、v1.0の仕様が確定する。IMEからの入力については、プライオリティは高く、v1.0の必須機能とされているが、そろそろ動かしてほしいところだ。
この連載の記事
-
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 -
第447回
PC
この秋登場のWindows 11の新バージョン、Ver.24H2の状況を見る - この連載の一覧へ