Setting WSL - ターミナルの色を変更 -

WSLのデフォルトの設定では、bashターミナルの色が全体的に暗くて非常に読みにくくなっています(その後のアップデートでだいぶ改善されました)。そのため、ターミナルの色を Solarized の色設定に変更しました。


ターミナルで使用する色を変更

WSLのBashターミナルは16の色のを使い分けていますがこの色が全体的に暗いため、ターミナルの色をプロパティの「画面の色」から後述する Solarized に準拠した色に変更しました。プロパティ画面は、WSLウィンドウの上端を右クリックして選択します。(この色の変更もできればコマンドラインで行いたかったのですが、よく分かりませんでした。コマンドラインでの変更法が分かれば、記事を改定する予定。)

修正内容 * 以下の表に従って各色を変更 * 「画面の背景」を8番に変更する

番号 元のRGB 変更後のRGB
0 0, 0, 0 7, 54, 66
1 0, 0, 128 38, 139, 210
2 0, 128, 0 133, 153, 0
3 0, 128, 128 42, 161, 152
4 128, 0, 0 220, 50, 47
5 128, 0, 128 211, 54, 130
6 128, 128, 0 181, 137, 0
7 192, 192, 192 238, 232, 213
8 128, 128, 128 0, 43, 54
9 0, 0, 255 131, 148, 150
10 0, 255, 0 88, 110, 117
11 0, 255, 255 147, 161, 161
12 255, 0, 0 203, 75, 22
13 255, 0, 255 108, 113, 196
14 255, 255, 0 101,123,131
15 255, 255, 255 253,246,227

変更後は以下のようになります。

f:id:ttyskg:20191008093241p:plain
set-color

LS_COLORSの設定

ターミナルで何をどの色で表示するかは LS_COLORS という環境変数に記述されています。この設定を Ethan Schoonover さんが考案した Solarized というカラースキーマに変更します。Solarizedは目に優しく見やすいと広く使われているカラースキーマです。 darklight の2種類がありますが、ここではdarkに設定をします。それぞれの見た目は、Solarizedのサイトから確認してください。

カラー設定ファイルの準備

カラー設定のファイルを、Sebastian Tramp さんがgithubで公開しているのでこれをお借りします。

cd ~
git clone https://github.com/seebi/dircolors-solarized.git
mkdir dotfiles/dircolors-solarized
mv direcolors-solarized/dircolors.ansi* dotfiles/dircolors-solarized

# クローンしたディレクトリを削除
rm -r dircolors-solarized/
# git管理用のファイルを削除しても良いか聞かれるので
# y を押して決定

上のコマンドでは、Solarizedの設定ファイルを管理用のdotfilesディレクトに移しています。また、今回お借りした設定ファイルにはSolarizedのdark, light, universal用の設定ファイルと256色用のファイルが含まれています。上のコマンドでは、dark, light, universal用のファイルを移動しています。必要に応じて使い分けてください。

カラースキームの設定

設定したカラースキームをdotfilesで管理できるようにします。読み込みたいカラースキームファイルを .dircolors としてdotfilesディレクトリ内に保存し、bashを起動した時にそのファイルを読み込むように .bashrc に書き込みます。

まず、以下の設定を .bashrc に書き込みます。

if [ -f ~/.dircolors ]; then
    if type dircolors > /dev/null 2>&1; then
        eval $(dircolors ~/.dircolors)
    elif type gdircolors > /dev/null 2>&1; then
        eval $(gdircolors ~/.dircolors)
    fi
fi

次に、以下のコマンドを実行し、WSLを再起動するとカラースキームが変更されます。

cd ~/dotfiles
cp dircolors-solarized/dircolors.ansi-dark .dircolors
setup.sh

参考

Solarized - Ethan Schoonover seebi/dircolors-solarized LS_COLORSを設定しよう Mac Terminal のカラー設定をSolarized にする