WSL2 と Windows Terminal

このエントリは2019/06/26現在の情報を基にしています。今回取り上げている両者はともにまだGA版ではないため、将来の機能追加により、記載内容との齟齬が発生する可能性が大いにあります。

Windows TerminalとWSL2は何れもPreviewではあるが利用できる。以下の内容はWindows Terminal 0.2.1715.0をベースにしている。

Windows TerminalのSettingsをクリックすると、2019/06/26現在、profiles.jsonファイルがエディターで開く。このprofiles.jsonは以下の場所に存在する。

%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\profiles.json

Windows Terminalのメニューの並びを変更する

環境によって異なるが、自環境ではWindows Terminalをインストールした直後はPowerShell Core、Windows PowerShell、cmd、ubuntuの順で並んでいた。この並びは、profiles.json内のprofiles要素内の順番に一致するため、ubuntuを先頭に配置したい場合には、ubuntuの部分を配列の先頭に移動する。

デフォルトのTerminalを変更する

自環境の場合、デフォルトでPowerShell Coreが起動するようになっていたが、これをubuntuにする場合、globals/defaultProfileにubuntuのUUIDを設定する。以下はその設定例。この例では、ubuntuのGUIDが22222222-3838-5115-0940-1234567890abである場合、defaultProfileに22222222-3838-5115-0940-1234567890abを指定している。

{
    "globals" : 
    {
        "alwaysShowTabs" : true,
        "defaultProfile" : "{22222222-3838-5115-0940-1234567890ab}",
        ...
    },
    "profiles" : 
    [
        {....},
        {
            ...,
            "name" : "Ubuntu",
            "guid" : "{22222222-3838-5115-0940-1234567890ab}",
            ...
        },
        { ... }
    ],
    "schemes" : 
    [...]
}

Windows Terminalを開いたときにWSL2 ubuntuのホームディレクトリを開くようにする

このためには、ubuntuのprofileに startingDirectory を追加し、”//wsl$/Ubuntu/{ホームディレクトリのFull Path}” と設定する。この startingDirectory はPowerShell、cmdにはデフォルトで存在する要素(デフォルト値はいずれも %USERPROFILE%)だが、WSL2 環境のprofileには設定されていない。以下はその設定例。

{
    "globals" : {...},
    "profiles" : 
    [
        {
            ...,
            "name" : "Ubuntu",
            "startingDirectory":"//wsl$/Ubuntu/home/logico",
            ...
        },
        { ... }
    ],
    "schemes" : 
    [ ... ]
}

背景を透過的にする

各profileのuseAcrylicをtrueにした上で、不透明度を表すacrylicOpacityを0から1までの間で設定する。自環境の場合、デフォルトではcmd以外はuseAcrylicがfalseで、acrylicOpacityはcmdは0.75、それ以外は0.5が設定されていた。

WindowsからのWSL2環境のファイルにアクセスする

WSLのubuntu 18.04では以下のパスでrootにアクセスできた。

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

しかし、WSL2のubuntu 18.04はVHDファイルでホストされているため、rootfsというディレクトリが存在しない。

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx

そのため、以下のようにUNCを使ってアクセスするしかない。

¥¥wsl$¥Ubuntu¥{Ubuntuでのパス}

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中