公式にドキュメントがある。PROMPT_COMMANDでエスケープシーケンスを発行して現在のディレクトリをターミナルに伝えるといいでしょうと。なるほど、それらしい。でも、動かない。なぜ。ギギギ...となっていた。
うんうんうなっていたのだけど、こちらのツイートにたどり着いた。
起動設定が「ubuntu.exe」となっているプロファイルはだめで、「C:\Windows\system32\wsl.exe -d Ubuntu」のほうはちゃんと動くらしい
なんですって~
あんまり意識してなかったので実行バイナリどこにあるのかとみてみた。powershellは which ではなく where.exe なんですね。面白い。where が LINQの組み込みキーワードに吸われているのも面白い。
PS C:\WINDOWS\system32> where.exe wsl.exe
C:\Windows\System32\wsl.exe
C:\Users\takas\AppData\Local\Microsoft\WindowsApps\wsl.exe
PS C:\WINDOWS\system32> where.exe ubuntu.exe
C:\Users\takas\AppData\Local\Microsoft\WindowsApps\ubuntu.exe
WindowsApps/ 以下にある wsl.exe と System32/ 以下にあるやつが別物?
PS C:\WINDOWS\system32> C:\Windows\System32\wsl.exe --version
WSL バージョン: 2.6.3.0
カーネル バージョン: 6.6.87.2-1
WSLg バージョン: 1.0.71
MSRDC バージョン: 1.2.6353
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.7623
PS C:\WINDOWS\system32> C:\Users\takas\AppData\Local\Microsoft\WindowsApps\wsl.exe --version
WSL バージョン: 2.6.3.0
カーネル バージョン: 6.6.87.2-1
WSLg バージョン: 1.0.71
MSRDC バージョン: 1.2.6353
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.7623
いや別に違いはなさそうだ。実際、以下の設定にしたらうまくタブの引継ぎが期待通り動作しました。最高です。(新規タブ、というよりは duplicate tab と split pane のときですが問題ない) Windows Terminalはかなり出来が良いので、作業ディレクトリの引継ぎが機能するならほとんど不満はないです。
ubuntu.exe から wsl.exe -d Ubuntuに変更した
開始ディレクトリを指定しないと Windows 側のそれが引き継がれてしまうのが難点ではあります。でもまあ許容範囲かな。
そういえば、ちゃんとコンテキストメニューを表示するようにするオプションも生えてました。ただ、最初ぶうぶう言ってましたがここしばらくで慣れてしまったので、右クリックではコピー/ペーストに戻してしまいました。ターミナルでのマウス操作ってウインドウスクロールとコピーする以外にあんまりなかった。

「右クリックでメニューを表示する」があって安心。