Windows端末では、MS-DOS、WSL、GitBashなど様々なコンソールを使っているけど、デフォルトの色だったりフォントだったりが気に入らないので使うときにモヤモヤしています。
決め手がなくてどこかで落ち着きたいと思っていたところ、開発中ではあるもののWindows Terminalがこれらを束ねてくれそうで使ってみることにしました。
Windows Termialの導入
アプリはMicrosoftストアから導入できます。まずはインストールします。
Windows Terminal
https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701?activetab=pivot:overviewtab
その他
今回特に利用してないですが、ソースはGithubにあります
Windows Terminal (Github)
https://github.com/microsoft/terminal
海外ユーザがカラースキームについて投稿しています。
Adding New Color Schemes to Windows Terminal
https://andrewpla.dev/Adding-New-Color-Schemes-To-Windows-Terminal/
使い方など
起動すると、デフォルト設定になっているPower Shellが起動します
下矢印のアイコンを選択するとプロダウン形式のメニューが表示されます。ここで設定の変更や、登録されているコンソールが選択できます。デフォルトだと、"PowerShell", "コマンドプロンプト", "WSL", "Azure"の4種類です。
"コマンドプロンプト"
"WSL" ※WSLとLinuxをインストールしてないと表示しない気がする
Windows Terminalの設定
"Settings"を選択すると、jsonファイルがデフォルトエディタで開きます。jsonを直接編集せよということです。今回使用したバージョンのデフォルトの設定状態が以下になります。頻繁にフォーマットが変わる可能性があります。(すでに昔の記事と違っていた)
ちなみにこのファイルの場所は、以下になります。Microsoft.WindowsTerminal_
後のキーのような部分はバージョンによって異なると思います。
%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
profiles
が配列になっていて、ここに定義をN個追加するとプロダウンに表示されるようです。デフォルトの以下4つは消すことはできないです。
schemes
には色の定義が追加できます。ある程度のスキーマは定義されていると思いますが、その情報がなかなかなくてわからないです。
// profiles.json
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"profiles":
[
{
// Make changes here to the powershell.exe profile
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// Make changes here to the cmd.exe profile
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
],
// Add custom color schemes to this array
"schemes": [],
// Add any keybinding overrides to this array.
// To unbind a default keybinding, set the command to "unbound"
"keybindings": []
}
コンソールの編集
すでにあるUbuntu-18.04
を編集してみます。ポイントはcolorScheme=Ubuntu
で、任意の定義名を指定して、schemes
にname=Ubuntu
の定義を追加します。
"profiles": [
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl",
"icon": "%USERPROFILE%/ubuntu.ico",
"fontFace": "Ubuntu Mono",
"fontSize": 14,
"colorScheme": "Ubuntu"
},
{
// Make changes here to the cmd.exe profile
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false
},
:
],
// Add custom color schemes to this array
"schemes": [
{
"name": "Ubuntu",
"black": "#2e3436",
"red": "#cc0000",
"green": "#4e9a06",
"yellow": "#c4a000",
"blue": "#3465a4",
"purple": "#75507b",
"cyan": "#06989a",
"white": "#d3d7cf",
"brightBlack": "#555753",
"brightRed": "#ef2929",
"brightGreen": "#8ae234",
"brightYellow": "#fce94f",
"brightBlue": "#729fcf",
"brightPurple": "#ad7fa8",
"brightCyan": "#34e2e2",
"brightWhite": "#eeeeec",
"background": "#300a24",
"foreground": "#eeeeec"
}
],
以下にWindows Terminal用のカラースキームが以下にたくさんあります。Ubuntu用はここにある定義をそのまま利用。
mbadolato/iTerm2-Color-Schemes
https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/windowsterminal
icon
にはローカルのユーザプロファイルディレクトリにフリーのアイコンをゲットして指定してます。
あと、fontFace
ですが、Ubuntu Monoを指定してます。これはUbuntuのターミナルで使われているフォントを真似たものか、そのものなのかわからないですが、フォントがそっくりになります。もともとアプリに内包されているのか、事前にいろいろ試していたときにインストールしたフォントなのか不明です。一応以下にリンクを貼っておきます。フォントが変わらなければ、ダウンロードしてインストールすること。
Ubuntu Monoフォント - ダウンロード
https://fontmeme.com/jfont/ubuntu-mono-font/
jsonを保存すると即座に反映されます。定義が間違っているとTerminalダイアログ上にエラーが表示されます。
アイコン変更されてます。
コンソールを起動して表示を確認したところ、Ubuntuのターミナルのデフォルトを真似た外観になってます。なかなか気に入ってます。
ほかのカラースキーム
上記のサイトからほかのカラースキームをいくつか設定してみました。
- Molokai
{
"name": "Molokai",
"black": "#121212",
"red": "#fa2573",
"green": "#98e123",
"yellow": "#dfd460",
"blue": "#1080d0",
"purple": "#8700ff",
"cyan": "#43a8d0",
"white": "#bbbbbb",
"brightBlack": "#555555",
"brightRed": "#f6669d",
"brightGreen": "#b1e05f",
"brightYellow": "#fff26d",
"brightBlue": "#00afff",
"brightPurple": "#af87ff",
"brightCyan": "#51ceff",
"brightWhite": "#ffffff",
"background": "#121212",
"foreground": "#bbbbbb"
}
- Github
{
"name": "Github",
"black": "#3e3e3e",
"red": "#970b16",
"green": "#07962a",
"yellow": "#f8eec7",
"blue": "#003e8a",
"purple": "#e94691",
"cyan": "#89d1ec",
"white": "#ffffff",
"brightBlack": "#666666",
"brightRed": "#de0000",
"brightGreen": "#87d5a2",
"brightYellow": "#f1d007",
"brightBlue": "#2e6cba",
"brightPurple": "#ffa29f",
"brightCyan": "#1cfafe",
"brightWhite": "#ffffff",
"background": "#f4f4f4",
"foreground": "#3e3e3e"
}
- Red Alert
{
"name": "Red Alert",
"black": "#000000",
"red": "#d62e4e",
"green": "#71be6b",
"yellow": "#beb86b",
"blue": "#489bee",
"purple": "#e979d7",
"cyan": "#6bbeb8",
"white": "#d6d6d6",
"brightBlack": "#262626",
"brightRed": "#e02553",
"brightGreen": "#aff08c",
"brightYellow": "#dfddb7",
"brightBlue": "#65aaf1",
"brightPurple": "#ddb7df",
"brightCyan": "#b7dfdd",
"brightWhite": "#ffffff",
"background": "#762423",
"foreground": "#ffffff"
}