皆さんはWindows PowerShell(もしくはPowerShell Core)を使っていますか。
実は、Windows 10 April 2018 Update以降からSSHクライアントが正式にサポートされ、Windows10 でSSHリモート作業する際はWindows PowerShellが一番の選択肢となりました。
時代に追いついたWindwos PowerShellですが、大きな不満がございます!SSHでラズパイにリモートログインした際の、この悪魔的配色!!
紺の背景に青色文字なんて絶対に読めないし、蛍光グリーンの文字が目に刺さるってチカチカする。まだこれぐらいなら気合で読めるのですが、とあるPythonサンプルスクリプトをVimで開いてみましょう。
この配色はまさに狂気の沙汰 !!!
唖然としてそっ閉じしてしまう配色ですね。配色も悪ければフォントも悪い。これでもフォントを18ptに上げているので、実際はもーっと見にくいです。したがって、起動は遅くても程よい配色で表現してくれるVisual Studio Code版のターミナルに逃げちゃうのです(実際、私もそうでした)。
否!!!
Windows PowerShellだってカスタマイズすれば、十分使えるSSHクライアントになり得るのです。例えばこんな風に、ものの10分程度で。※画像中央のスライドバーを左右に動かしてみてください
どうですか、MacのTerminalにも劣らないカラーではないでしょうか?これならリモートでのプログラミングも捗りますね。
この記事で書いてあることはWindows PowerShellでもPowerShell Core 6.x~でも同じ操作でカラーテーマを変更できます。では早速カスタマイズしていきましょう。
手作業で色を変えていく訳ではありません。なんとWindowsコンソールのエンジニアリングチームが作成した”非公式”の配色変更ツール「Color Tool」があるのです。さっそくGitHubよりzipファイルをダウンロードします。
https://github.com/microsoft/terminal/releases/latest
ダウンロードしたColorTool.zipを適当なディレクトリに解凍します。そしてWindwos PowerShell(もちろんx86ではないほうで)を立ち上げ、解凍したColorToolのディレクトリへ移動します。
ColorToolの実行ファイルがあるので、-sオプションをつけて実行すると、カスタマイズ可能な配色一覧が表示されます。
> .\ColorTool.exe -s
左に表示されている「campbell-legacy」や「OneHalfDark」といった名前が配色のテーマ名です。ちなみに以下のオプションが利用できます。
オプション一覧
https://github.com/Microsoft/Console/tree/master/tools/ColorTool
-?, –help : Display this help message
-c, –current : Print the color table for the currently applied scheme
-q, –quiet : Don’t print the color table after applying
-d, –defaults : Apply the scheme to only the defaults in the registry
-b, –both : Apply the scheme to both the current console and the defaults.
-s, –schemes : Display all available schemes
-v, –version : Display the version number
自分好みのテーマカラーを選んでみよう
ColorToolで用意されているテーマカラーを現在のターミナルに反映させるには、ColorTool.exeのあとにテーマ名を入力するだけです。例えば、OneHalfDark.itermcolorsを反映させる場合は次のコマンドを入力します。
> .\ColorTool.exe OneHalfDark.itermcolors
テーマが変更されて、カラフルな表が表示されます。表の見方は次のとおりです。
- 文字色は表示されている通りになる(左から右まで全て同じ文字色)
- 背景色が左:40m から 右:47mまで8色あるので、好きな色をPowerShellのプロパティで選択する
テーマによっては次の画像のように色が変になってしまうものがあります。
そんなときは、-bや-dオプションでデフォルトテーマを変更したあとに、PowerShellを再起動すると正しいカラーが反映されます。
各テーマを反映させたPowerShellでvimを開いたところ
テーマがたくさんあって比較が面倒な方のために、各テーマを反映させて、SSHリモートログインしたLinux上のVimでPythonファイルを編集している画面をキャプチャしました。
テーマの中でも OneHalfLight.itermcolors は特徴的です。普段のターミナルの背景は白色なのに、Vimでファイルを開いたときだけ、背景が暗くなります。かっこいいですね。
Windows PowerShellのデフォルトテーマに反映する
デフォルトにしたいテーマを決めたらColorTool.exeのあとに-bや–dのオプションをつけるだけです。ここでは、solarized_light.itermcolorsをデフォルトにしてみましょう。次のコマンドを入力してください。
> .\ColorTool.exe -b solarized_light.itermcolors
一度、PowerShellを再起動してみて、デフォルトテーマが変更されていることを確認してください。
ちょっとsolarized_lightの背景が黄色がかっていたので、白寄りにしてみました。
上の図は、SSHでラズパイ上のPythonスクリプトをVimで開いたところですが、いい感じですね!ちなみに画面の背景色の値を「赤:248,緑:246,青;241」に変えています。
これで配色は改善されましたが、フォントが細くで読みづらいですね。これも変更してしまいましょう。
今回は、オープンフォントライセンスとして公開されているプログラミング用フォント Myrica(ミリカ) を適用します。Myricaは、プログラミング用に作られたTrueTypeフォントで、視認性、判別性が高くなるように、複数のフォントファイルを元に合成/修正されたものです。 次のURLよりダウンロードできます。
解凍して作成されたフォルダ内に「MyricaM.TTC」というフォントファイルがあるので、右クリックしてインストールします。
あとはPowerShellのプロパティから、フォントの項目で先ほどインストールした「MyricaM M」を選択するだけです。
すると、じゃーーーーん!!
とても見やすい。これならフォントサイズを下げても十分な視認性はありそうです。試しに16ptにしてみたのが下の図です。
十分読めますね、この表示であればコンソールとして満足です。
以上で、フォント変更は終了です。他にも好きなフォントをインストールすれば、PowerShellに反映可能なので、自分好みにカスタマイズして、快適なPowerShellライフを送ってくださいね。