目次

Windows ターミナル

y2sunlight 2020-12-08

WSL2に戻る

関連記事

リンク

Windows ターミナルは、コマンドプロンプト、PowerShell、WSL上のシェルなどの複数のコマンドラインツールを1つに統合した最新のターミナル アプリケーションです。WSLの導入と同時に是非ともインストールしておきたい開発用ツールです。


インストール

スタートメニューから[Microsoft Store]を開き、Windows Terminal を検索し、検索結果から [Windows Terminal] を選択します。

■ [入手]ボタンを押して下さい。

■ インストール完了後[起動]を押すと[Windows Terminal] が起動します。

タイトルバーのドロップダウンメニューを開くとインストールされているターミナル一覧が表示されます。

タブに新しいターミナルを開くことは勿論、以下のようにタブを複数のペインに分割することも出来ます。


設定

Windowsターミナルの設定ファイル(settings.json)は、Windowsターミナルの[プルダウンメニュー]から[設定]を選択すると開きます。その時、.json に関連付けされているアプリケーションが起動します。

settings.json は以下の場所に保存されています:

{User Folder}\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\


グローバル設定

settings.json のルート部分には、プロファイルの設定に関係なく、ターミナル全体に影響するグローバル設定が定義されています。

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
 
    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    // ...
}

defaultProfile は新しくタブを開いた時に起動するターミナルアプリケーションを GUID で指定します。上の例は Power Shell が指定されています。

グローバル設定についての詳細は、以下を参照して下さい。


プロファイル設定

プロファイル固有の設定は、settings.jsonprofiles.list セクション で行います。また、すべてのプロファイルに共通で適用する場合は profiles.defaults セクションに追加できます。

{
    // ...
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            // ...
        ]
    },
    // ...
}

profiles.listの要素

profiles.list の各要素はターミナルアプリケーションを表し以下のプロパティなどがあります:

プロファイル設定についての詳細は、以下を参照して下さい。


よく使うLinuxの設定

起動時にホームディレクトリから開始

UbuntuなどのLinuxディストリビューションではシェル起動時にホームディレクトリから開始されません。これはシェルが開始されるディレクトリの既定値が %USERPROFILE% になっているからです。これをLinuxユーザのホームディレクトリに変えるには次のようにします。

プロフィール設定に "startingDirectory" を追加します:

{
    // 以下は Ubuntu-20.04 の例です
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "hidden": false,
    "name": "Ubuntu-20.04",
    "source": "Windows.Terminal.Wsl",
+   "startingDirectory": "//wsl$/Ubuntu-20.04/home/user-name"
}

または、"commandline" を追加します(~ に注意して下さい):

{
    // 以下は Ubuntu-20.04 の例です
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "hidden": false,
    "name": "Ubuntu-20.04",
    "source": "Windows.Terminal.Wsl",
+   "commandline": "wsl.exe ~ -d Ubuntu-20.04"
}

起動時のユーザを変える

起動時のユーザを変えるには、以下のように "commandline" を追加します:

{
    // 以下は Ubuntu-20.04 の例です
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "hidden": false,
    "name": "Ubuntu-20.04",
    "source": "Windows.Terminal.Wsl",
+   "commandline": "wsl.exe -d CentOS7.6 -u root"
}

起動時のシェルを変える

起動時のシェルを変えるには、以下のように "commandline" を追加します::

{
    // 以下は Ubuntu-20.04 の例です
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "hidden": false,
    "name": "Ubuntu-20.04",
    "source": "Windows.Terminal.Wsl",
+   "commandline": "wsl.exe -d Ubuntu-20.04 sh"
}