【Windows Terminal】Powershell / Ubuntu (WSL) を個別に起動するショートカットを作成する方法

こんにちは！
みなさん，[Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=ja-jp&gl=jp) 使ってますか？
今風なデザインでかっこいいし，タブ機能も備わっていて便利ですよね．
それに，Powershell / コマンドプロンプト / Ubuntu (WSL) 等など，「Windows Terminal」アプリひとつで複数のプロファイルを使い分けることができます．

ただ，世の中なんでも一つに統合すれば便利になるかと言われれば，必ずしもそうではない訳ですよね．
特に Windows 環境（Powershell） と WSL環境（Ubuntu Bash） を頻繁に使い分けている状況（WSL2のポート転送とか）だと，いちいち起動のたびショートカットを右クリックして起動したいプロファイルを選択しなければなりません．
<img width="30%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/715aa6df-d52c-da74-00df-1236ff7dc529.png" />

もしくは，ショートカットをクリックしていったん既定のプロファイルで起動してしまってから，新しいタブで別のプロファイルを開く必要があります．
<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/3d020da3-3550-7e8f-12f5-80f957cf83ae.png" />


どれか一つをメインに使うだけであれば，**設定から既定のプロファイルを変更できる**のですが，複数使い分ける場合はちょっと不便です．
この問題を解決するには，ショートカットをプロファイル別で作成できれば良いのですが，残念ながら今のところアプリ自体にそういった機能な実装されていないようです．

:::note info
最近の Windows 11 では，（Windows Terminalを介さずに）直接 Powershell等を起動させても， Windows Terminal で起動してくれるみたいです．（管理者権限で起動する場合を除く）
これらのアプリは個別にタスクバー/スタートメニューに登録ができるので，この方法でも対応可能です．
:::

そこで，今回は（手動で）プロファイル別にショートカットを作成する方法をご紹介します．

## Windows Terminal のショートカットを（自由に）作成する方法
Windows 11 の環境では，タスクバーやスタートメニューに既にある ショートカットをデスクトップへドラッグしても，コピーできないみたいです．（前はできた気が…）
そのため，以下の方法で作成します．

1. デスクトップで右クリック→「新規作成」→「ショートカット」
1. 項目の場所に `wt` と入力．（`wt` は，Windows Terminalの実行ファイル名なので，自動的に参照してくれます．）
1. お好みの名前を入力して，「完了」

これでショートカットが作成できました．同じ手順でいくつでもショートカットを作成できます．（コピペしてもOK）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/c4118908-5422-e5d2-271d-771d8c9f0323.png)

## ショートカットごとに起動プロファイルを指定する
Microsoft公式「[Windows ターミナルに対するコマンド ライン引数を使用する](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=ja-jp&gl=jp)」によると，次のコマンドライン引数で起動プロファイルが指定できるみたいです．
`-p プロファイル名`
早速，WSL の「Ubuntu」プロファイルを既定で起動するように設定してみましょう．ショートカットを右クリック→「プロパティ」を開いて，「リンク先」の後に追加すればOKです．
`(略)...\wt.exe -p Ubuntu` のようになっていればOKです．

:::note warn
プロファイル名は，WSLのディストリビューション名など，環境によって異なるため，Windows Terminal を開いて確認してください．
:::

ショートカットをダブルクリックすると，Ubuntu が起動したはずです！
このショートカットの右クリックメニューから，スタートメニューに登録ができます．
また，タスクバーにドラッグ＆ドロップすれば，タスクバーに登録も可能です．
<img width="20%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/6f147677-6567-e8d5-fefa-ef10c3f95059.png" />

## アイコンを変更する
ただ，このままではどれが何だか判別が付きませんので，アイコンを変更しましょう．
ショートカットのプロパティを開き，「アイコンの変更」から可能です．
アイコンの含まれる実行ファイルのパスを指定して，アイコンを選択します．

<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/5ac33910-032f-d074-cd46-1f97cac9c066.png" />


みなさんお気に入りのアイコンがあれば，それを選んでください．特にない場合は，実行するプロファイルに沿ったアイコンが望ましいでしょう．

基本的に，その実行ファイルにアイコンデータが埋め込まれていますので，実行ファイルの保存場所が分かればよいです．
調べる方法は色々考えられますが，タスクマネージャーを開いて，目当てのプロセスを右クリックし，「ファイルの保存場所を開く」で確かめるのが手っ取り早いと思います．
（「プロセス」で見当たらない場合は，「詳細」のほうも探してみてください）
<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/14b3e9d8-ba16-f847-811b-3ac78ab54ef9.png" />

以下，代表的なアイコンが含まれる実行ファイルのパスをまとめておきます．（環境やバージョンによって変わると思うので，参考程度にどうぞ）


* Windows Terminal のアイコン
`"C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.15.2875.0_x64__8wekyb3d8bbwe\wt.exe"`
`"C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.15.2875.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe"`

* Powershell
`"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"`

* Ubuntu 
`"C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_2004.2022.1.0_x64__79rhkp1fndgsc\ubuntu.exe"`

* WSL（OS同梱版，Linuxペンギン: タックス）
`"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"`

* WSL（ストア版，~~不気味な~~Microsoft謹製ペンギン）
`"C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.0.0.0_x64__8wekyb3d8bbwe\wsl.exe"`

Microsoft謹製ペンギンは，ストア版WSL（OS同梱版より新しいバージョンのWSL）をインストールしている必要があります．
詳しくは，「[WSLには3つの「バージョン」がある](https://qiita.com/omu_kato/items/f9a6b5a02e25f5f2a487)」で書いた解説記事をご覧ください．

:::note warn
もとのショートカットのアイコンの反映は自動的にされないようですので，タスクバーに登録しなおしてください．
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193471/3493d8f6-de97-5155-e94d-4e687e0c5b11.png)

プロファイル別にショートカットを作成することができました！
これでもう右クリックの手間とはおさらばです！

…ところで，Microsoft謹製ペンギンはやっぱり不気味なので，やっぱりタックスくんにしようと思います．

## まとめ
* Windows Terminal には，プロファイル別にショートカットを作成する機能はないが，手動でショートカットを作成することができる
* コマンドライン引数で起動時のプロファイルを指定できるので，ショートカットに設定して利用できる
* ショートカットでは，好きな実行ファイルのアイコンを自由に設定して利用可能．~~Microsoft謹製ペンギンも使える！~~

以上です．

ところで，「Microsoft謹製ペンギン」って正式名称とかあるんでしょうか？