PowerShellの背景を変更

2020-10-13 | コメント(0)

PowerShellのデフォルトの背景は濃い青色です。

この背景で Ubuntu を操作していると、青色文字が現れる時に非常に辛い状況になります。

具体例
WSL Ubuntu 青背景
青色背景でこの青色文字が現れると、作業は不可能に近いです。
ここだけ見れたとしても、色々コマンドを打っていくと「ストレスがある」というレベルは超えて、無理だと気付くことになると思います。

PowerShellの背景を、とりあえず黒色にしておくことで視認できる程度になります。
WSL Ubuntu 黒背景

PowerShellの背景の変更は、タイトルバーを右クリックすると「プロパティ」のメニューがあり、プロパティを開くと各設定を変更できるので「画面の色」タブから「画面の背景」を変更します。

下記参考
とりあえず作業出来ないレベルを脱するため、上から2番目の「画面の背景」を黒色に変更。(青い線)
元に戻すための備忘も兼ねて、変更前のデフォルトに赤い線を引きました。

PowerShell プロパティ 背景色

設定変更しても変更が感じられない場合は、一度PowerShellを起動しなおしてみると良いです。
(部分的に反映がされないことがあります)

もっと見やすい配色も当然あると思いますし、見やすさにも個人差がありますが、とりあえずサクッと黒に変更しておくほうが良いでしょう。

以下、このRGB各色の値と16進数値です。
背景を色々触った後に、元に戻す場合に参考にしてください。

左順 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 128 1 238 192 128 0 0 0 255 255 255 255
0 0 128 128 0 36 237 192 128 0 255 255 0 0 255 255
0 128 0 128 0 86 240 192 128 255 0 255 0 255 0 255
16進数
00 00 00 00 80 01 ee c0 80 00 00 00 ff ff ff ff
00 00 80 80 00 24 ed c0 80 00 ff ff 00 00 ff ff
00 80 00 80 00 56 f0 c0 80 ff 00 ff 00 ff 00 ff

16進数の値を載せているのは、次のレジストリにDWORD値が設定されていて、デフォルトの色を比較確認しやすい様に記載しました。

HKEY_CURRENT_USER\Console のレジストリを見ると次の値が並んでいます。

HKCU\Console レジストリ

ColorTable00 ~ ColorTable15 のDWORD値が、[0x00]-B-G-R 順で一致します。
※ColorTable05, ColorTable06 は違いますが。

この、HKEY_CURRENT_USER\Console のレジストリは、コマンドプロンプト (cmd.exe) が使用する配色です。

仮に ColorTable00 を 333333 等に変更して、コマンドプロンプトを立ち上げると、背景が少し変わっていることが確認できます。

レジストリの編集には十分注意してください。

間違えた編集方法などで破損した場合は、PCが立ち上がらないなどで再インストールが必要になる場合もあります。

PowerShellが使用する配色は、このサブキーの、

\HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe

で上書き指定されます。

HKCU\Console powershell レジストリ

ColorTable05, ColorTable06 があり、PowerShellの配色の 5番目、6番目 (0 始まり順) が一致します。

PowerShellのデフォルトの背景は、5番目の 0x00542401 (5645313) で、これが初期の背景になります。

それならば..

特定箇所の色のレジストリを好きな色に変えてしまえば良いかと言うと、正確にはそうではありません。

サブキーのPowerShellは、
%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
ということで、アンダースコア (_) は \ と読みなおして、

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

になるので、PowerShellの実行ファイルの実体を指しています。

直接エクスプローラー等から、powershell.exe を実行すれば、このレジストリの配色でPowerShellが実行できますが、スタートメニューの PowerShell から起動した場合は、レジストリの配色は効いていないはずです。

これは、タイトルバーを右クリックして「プロパティ」で設定したものは、そのショートカットの .lnk ファイルに保存されることになるみたいで、スタートメニューに既にある PowerShell のショートカットメニューから起動した場合は、自身のショートカットの .lnk ファイルに設定されます。

PowerShell 起動時には、
→ 自身の .lnk ファイル
→ レジストリ値、\HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
→ レジストリ値、\HKEY_CURRENT_USER\Console
という順で優先順が決定されるので、結果的にレジストリの値は無視されるということになります。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe のショートカットを作成したタイミングで、レジストリの配色がデフォルト使用されると思えば良いと思います。

普段、わざわざ直接 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe を実行することは無いと思うので、作成したショートカット毎に「プロパティ」の設定が違うということになります。

カテゴリ:

コメントする

※HTMLタグは使えません

Author

あきちゃん

主に、.NETでWebシステムの設計と開発をしています。
(茨城県在住, 都内勤務)
プロフィール