0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsターミナルのWSLプロファイルのカスタマイズ

Posted at

要旨

WindowsターミナルからWSL2のLinuxを起動すると、エクスプローラーのWindowsとLinuxのディレクトリパスをLinux形式で貼り付けることができ、便利です。
WSLのアイコンは自由に変更できるので、使用する内容に応じたものへ変更すれば、気分良く選択することができます。
WSLディストリビューションを何度も入れ替えして遊んでいると、トラブルに出会いました。トラブルシューティングについても記載します。

スクリーンショット 2025-04-26 151013.png

1. カスタマイズ方法

アイコン

WindowsターミナルにWSLディストリビューションの名前が認識されていることが前提です。
上図の設定をクリックして、左側から対象のディストリビューションを選びます。
設定タブのアイコンをクリックし、置き換えるpng, icoファイルを指定します。
なお、表示が小さいので細かい図柄は判別できません。
使用するアプリ、そのウェブサイトに使われるアイコン、あるいはAIにより作成したアイコンを使用しています。

スクリーンショット 2025-04-26 153704.png

その他の設定

以前、WSL2の基本操作の1.3項に記載したように、パスの変換機能が便利です。これは、追加の設定>詳細設定の項目により確認することができます。

スクリーンショット 2025-04-26 154737.png

2. トラブルシューティング

(1) 'wsl -d ディストリビューション名'から起動するが、Windowsターミナルに登録されない

settings.jsonファイルを確認する(上図の設定画面左下の"JSONファイルを開く")

  • "disabledProfileSources"の記述があるか
  • "disabledProfileSources":[ ]の記述がある場合は、[ ]内に、"Windows.Terminal.Wsl-旧記述", "Microsoft.WSL-新記述"など、"WSL"を連想するものが含まれる場合は、削除する

最低限のsettings.jsonファイル設定での動作確認

  • 認識しないWSLディストリビューションを"commandline"と"name"のみとして、Windowsターミナルを再起動する(うまくいかない場合は、管理者権限も実施する。この編集では壊れることはありません)
    私がこれまで経験したケースでは、この設定で自動認識しました。
{
    "commandline": "wsl -d Fistr_Oracle9",
    "name": "Fistr_Oracle9"
}

GUIから設定する

  • 設定なしで自動生成される項目
    "guid", "hidden"
  • GUIから設定する項目
    開始ディレクトリ:"startingDirectory"に反映される。通常"~"で良い。
    アイコン:"icon"項目に反映される。
    詳細設定 > プロファイルの終了動作: "closeOnExit"に反映される。

最も役に立つ機能
詳細設定 > パスの変換:WSL(C:\ -> /mnt/c)

設定ファイルの完成状態(最低限の入力からGUIにより追加)

JSON:settings.json
            {
                "closeOnExit": "always",
                "commandline": "wsl -d Fistr_Oracle9",
                "guid": "{c7477bdc-7b4a-55ba-a81d-xtsh367pfkjlshus}",
                "hidden": false,
                "icon": "C:\\Users\\...\\LocalState\\Force-R1.ico",
                "name": "Fistr_Oracle9",
                "pathTranslationStyle": "wsl",
                "startingDirectory": "~"
            }

設定ファイルの完成状態(2025年4月に自動認識、アイコンとプロファイルの終了動作を手動設定)

JSON:settings.json
            {
                "closeOnExit": "always",
                "guid": "{58486d3e-83cb-5614-962b-jdhgerui782flgrd}",
                "hidden": false,
                "icon": "D:\\WSL_VMs\\elmer_deb12\\Elmer.png",
                "name": "elmer_deb12",
                "source": "Microsoft.WSL"
            }

(2) 'wsl -d ディストリビューション名'から起動しなくなった

  • Windows + R → regedit と入力
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
  • 起動しないWSLをDistributionName、Flavor、OsVersionから見つける
  • BasePathに誤りがないか確認する(名前とPathが合っていれば、起動するはずです)

WSLレジストリ.png

参考情報

WSLのLinuxの操作

GNOMEなどのLinuxデスクトップを使用する場合は、Windowsと同様にアイコンから起動することが多いと思います。
WSLの場合は、コマンド操作が基本ですので、~/.bashrcにechoコマンドを追加して、起動時にアプリ情報を確認できるようにしています。

~/.bashrc
########## 設定 ###########
echo -e \\n"Elmer / Ice function, with HYPRE, MUMPS, MMG (ParMMG), Lua, and Zoltan libraries." \\n
echo -e "Linux Appli: Salome 9.14, Scilab, Onelab (Gmsh+GetDp), Paraview 5.11" \\n
echo -e "winpv5: paraview 5.13.2 for windows" \\n

########## 起動時のメッセージ ############ 
Elmer / Ice function, with HYPRE, MUMPS, MMG (ParMMG), Lua, and Zoltan libraries.

Linux Appli: Salome 9.14, Scilab, Onelab (Gmsh+GetDp), Paraview 5.11

winpv5: paraview 5.13.2 for windows

多数のWSLディストリビューションを使用する場合の推奨事項

レジストリの編集とファイルの移動により、ディストリビューションの名前や保存場所の変更ができます。
しかし、Windowsターミナルの設定には情報が伝わらないので、不具合の生じる可能性が高いです。面倒でも、エクスポート・インポートにより移動する方法が無難です。
WSLでディストリビューションをインポート・エクスポート

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?