Windows Power ShellでWSLを使う際にデフォルト配色だと絶望的に見づらいので、どうにかして見やすい色にできないか頑張ってみた。
この記事では以下の作業についてやったことを簡単に説明する。
- ColorToolを使用してカラースキームを変更
- PowerShell起動時にスクリプトを実行してColorToolを使用
背景色の変更じゃダメなのか
PowerShell起動後、ウィンドウ上部を右クリックからのプロパティで背景色を変えられる。
文字の色も変えられるように見えるが、WSL使用時の文字配色にはほぼ反映されない。
試してみると分かるが、背景色を何に変えようと絶望的に見づらい状態を脱することができない。
ColorToolを使う
Microsoftが公開しているツールでカラースキームの変更ができる。
GitHubからダウンロードが可能。
下記サイトのREADMEのInstallingから最新バージョンのダウンロードができる。
terminal/src/tools/ColorTool at master · microsoft/terminal
ググって出てくる記事だとURLが404になってるのがちらほらあるので、上記URLもそのうち無効になるかもしれない。
もし404になっていたら、terminalのリポジトリからColorToolを探せば見つかるはず。
ダウンロードしてきたzipを任意の場所に展開する。
この記事ではC:\Users\Candle\Documents\colortool
に展開した前提で記載する。
あとはColorTool.exe
をコマンドで実行するだけ。
cd C:\Users\Candle\Documents\colortool
.\ColorTool.exe -b campbell.ini
オプション-b
で今開いてるウィンドウに反映しつつデフォルトにも適用できる。
カラースキームはschemes
フォルダに入っているファイル名から選択できる。
好きなものを選ぼう。
ここで新しくウィンドウを開いて、ちゃんと変更が反映されていたら平和的解決。
筆者と同じくどういうわけか元のカラースキームで開かれてしまった人は続きを読もう。
なお、執筆時点ではデフォルトに適用できない原因は判明していない。
レジストリの書き換えはできてるっぽいことだけ確認できている。
何かわかった人がいたら是非コメントで報告してほしい。
PowerShellの起動スクリプトを作る
デフォルトにならないなら、毎回起動時にColorToolを使用すればいい。
強硬手段である。
PowerShellには、起動時に実行するスクリプトの設定がちゃんとある。
起動するスクリプトファイルのパスは下記のコマンドで確認できる。
$profile
筆者の環境ではC:\Users\Candle\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
となっていた。
ユーザーのドキュメント直下にWindowsPowerShell
フォルダを作り、Microsoft.PowerShell_profile.ps1
ファイルを作成する。
中身は下記の通り。先ほどのコマンドをフルパスにしただけ。
C:\Users\Candle\Documents\colortool\ColorTool.exe -b campbell.ini
これが実行されればカラースキームが変更される。が、デフォルトの設定ではPowerShellスクリプトの実行は無効となっている。
実行できるようにするためには管理者権限でSet-ExecutionPolicy
コマンドを打ち込んで設定を変更する必要がある。
今回は、ローカルのスクリプトは全許可、ダウンロードしたものは署名付きのみ許可となるRemoteSigned
に設定する。
設定可能なポリシーは以下の記事を参考。
PowerShell/PowerShellスクリプトを起動できるようにする - Windowsと暮らす
Set-ExecutionPolicy RemoteSigned
これで起動時にスクリプトが実行され、自動でカラースキームが変更される。
感想
なんで自分だけデフォルト適用できないん?
comments powered by Disqus