Windows Terminal を使ってみる

Microsoft 謹製のターミナルアプリ Windows Terminal が正式リリースされたので、さっそく使ってみました。インストールするだけで特に苦労もなく使えるのですが、せっかくなので、Windows Terminal 上で Git Bash と PowerShell 7.0(Windows だけでなく、MacOS や Linux でも使えるオープンソースのクロスプラットフォームエディション)を使えるようにしてみます。

Windows Terminal のインストール

Chocolatey をインストールしていれば、以下のコマンドを実行するだけでインストールできます。

choco install microsoft-windows-terminal

あとはスタートメニューから起動するだけなのですが、私の場合、ランチャーとして使っている Keypirinha からも使えるようにしたかったので、ひと工夫。こちらから Keypirinha のプラグイン(Terminal-Profiles.keypirinha-package)をダウンロードし、%APPDATA%\Keypirinha\InstalledPackages(C:\Users\(ユーザー名)\AppData\Roaming\Keypirinha\InstalledPackages)に置くと、Keypirinha から Windows Terminal を起動することができるようになります。

Git Bash を使えるようにする

Windows Terminal をインストールすることで、コマンドプロンプトや PowerShell(Windows に付属するバージョン5系)は使えるようになるのですが、Git Bash はそのままでは使えません。設定ファイルに追記する必要があります。

準備

設定するにあたって GUID が必要となるので

[Guid]::NewGuid()

で GUID を生成し、その値をメモしておいてください。これはシェルを追加するたびに必要となります。

設定ファイルに記述

Windows Terminal のメニューから設定を選ぶと設定ファイルである setting.json がメモ帳で開かれるので、40行目くらいの適当な場所に Git Bash の設定を追記します。

            {
                "guid" : "{(取得した GUID)}",
                "colorScheme" : "Solarized Dark",
                "commandline" : "C:\\Program Files\\Git\\bin\\bash.exe",
                "fontFace" : "Myrica M",
                "icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
                "name" : "Git Bash",
                "startingDirectory" : "C:\\home\\hoge"
            },

フォントを Myrica M に、配色を Solarized Dark に変更していますが、このあたりはお好みで(最初から用意されている配色の設定はこちら。Solarized のほかに Tango などもあります)。フォント設定のようなすべてのシェルに共通の設定は30行目くらいの defaults のブロックの中に書いたほうがすっきりするかもしれません。

また、Git Bash を立ち上げたときのデフォルトディレクトリを startingDirectory で設定しています。

日本語のフォントを設定していても Windows Terminal で文字化けするときは、Git Bash の .bashrc に

export LANG=ja_JP.UTF-8

を追記してください。

その他の設定項目については、こちらにまとめられています。Windows Terminal を起動したときのデフォルトのシェルは11行目の defaultProfile の内容を デフォルト設定したいシェルの GUID に変更すれば OK です。

デフォルト設定では、Windows Terminal 内で Ctrl + C でコピー、Ctrl + V でペーストできるようになっていますが、これだと困るという人は、setting.json の

{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },

をコメントアウトしておきましょう。

PowerShell 7.0 を使えるようにする

インストール

PowerShell 7.0 のインストールも Chocolatey で

choco install powershell-core

で完了。Windows Terminal 側が認識してくれるので、Git Bash のように setting.json に設定を追記しなくても使えるようになります。

管理者権限で PowerShell を使えるようにする

PowerShell を使う際に管理者として実行するケースが割と多い(Chocolatey を使う場合も管理者権限が必要)のですが、Windows Terminal 内で PowerShell を管理者として実行すること(Linux でいうところの su のようなこと)は Windows Terminal だけではできないようです。Windows Terminal の GitHub の中でも議論になっているようですが、その中で解決策の一つとして提示されている方法を紹介します。

gsudo のインストール

gsudo は、Linux の sudo コマンドのように、管理者権限でアプリを立ち上げる機能を持ったアプリです。これを Chocolatey でインストールします。

choco install gsudo

続いて、setting.json に以下のような設定を追記します(GUID の取得が必要です)。

            {
                "guid": "{(取得した GUID)}",
                "hidden": false,
                "name": "PowerShell Core As Admin",
                "colorScheme" : "Campbell Powershell",
                "commandline" : "cmd.exe /c gsudo pwsh.exe",
                "icon": "ms-appx:///ProfileIcons/{574e775e-4f2a-5b96-ac1e-a2962a402336}.png"
            },

このシェルを選択すると、UAC(ユーザーアカウント制御)のダイアログが表示され、「はい」を選ぶと、管理者権限の PowerShell 7.0 を使うことができます。

使いやすい Windows の CUI 環境を求めて、cmder や Alacritty などを渡り歩いてきましたが、使い勝手(特に日本語の扱い)や設定のわかりやすさで比較すると、Windows Terminal が頭一つ抜けている気がします。しばらく使ってみて問題なければ Alacritty から乗り換えようと思います。

この記事を書いた人

グッドネイバー

“ Webに悩むお客さまの「よき隣人」でありたい ” をモットーに、Web システム開発(主に Laravel)、Web マーケティング支援の仕事をしています。詳しい業務内容はこちら。お仕事のご依頼・ご相談はこちらからお気軽にどうぞ。