こんにちは、ウチイダです。
今回もWindows 11の環境構築についてです。
前回インストールしたWSLを、Windows Terminalから利用しやすくしていきます。
WSLのインストール手順は、以下の記事に書きました。
なお、この記事を作成している時点でのウチイダの環境は以下です。
- Windwos 11 Pro (21H2 ビルド 22000.120)
- WSL カーネル バージョン: 5.10.16
- Windows Terminal バージョン: 1.9.1942.0
Windows Terminalの設定を変更する
以前はsetting.jsonを直接編集する必要がありましたが、現在では設定画面上から変更できる項目が増えました。
一般的な設定変更だけなら、jsonを開く必要はありませんでした。
1. デフォルトの起動プロファイルを変更する
Windows Terminal を起動した際に最初に開くプロファイルを、PowerShellからUbuntuに変更します。
Windows Terminal のタブ右端のにある「∨」をクリックして「設定」を開き、「既定のプロファイル」をUbuntuに変更します。
これで、Windows Terminalを起動した際にUbuntuがすぐに使えるようになります。
2. カラープロファイルを設定する
続いて、カラープロファイルを設定します。こちらも、設定画面上から変更できるようになっています。
設定画面で「Ubuntu」を選択し、「外観」タブの「配色」を選択します。
ウチイダはデフォルトの中の「One Half Dark」が気に入っているので、これに設定します。
設定画面右下の「保存」ボタンを押してから、Ubuntuのターミナルを開きなおすと、配色が変更されます。
LS_COLORSの設定を変更
One Half Darkを設定しておけば、おおむね見やすくてよいのですが、一部どうにも視認できないものがあります。
lsコマンドの出力の際、他ユーザーからの編集を許可しているファイルが緑背景に青文字になってしまい、とても読みづらいです。
とりあえずこの部分だけは、追加で変更していきます。
.dir_colors を作成して編集
ls コマンドの出力結果の色指定は、$LS_COLORSという環境変数で管理されているので、これを変更します。
dircolors コマンドで、現在の$LS_COLORSの設定値が出力されるので、まずはこれを.dircolors ファイルに保存します。
$ dircolors -p > ~/.dircolors
## ファイルを編集(vim)
$ vim ~/.dircolors
## Visual Studio Code がインストールされていれば、以下のコマンドでホームディレクトリを開くのもよいです
$ code ~
そして、.dircolors に記載されているOTHER_WRITABLE の設定を変更します。
今回は、文字色を黒に変えるだけにしておきます。
# ウチイダの環境では、60行目にありました
# 34;42 を 30;42 に変更します
OTHER_WRITABLE 30;42 # dir that is other-writable (o+w) and not sticky
利用できる色番号の一覧は、こちらのページの「ISO 6429 (ANSI) カラーシーケンス」に記載があります。
該当部分を引用しておきます。
0 デフォルトカラーを復元
1 より明るい色
4 下線付きのテキスト
5 点滅するテキスト30 文字表示色:黒
31 文字表示色:赤
32 文字表示色:緑
33 文字表示色:黄 (または茶)
34 文字表示色:青
35 文字表示色:紫
36 文字表示色:シアン
37 文字表示色:白 (またはグレー)40 背景色:黒
Man page of DIR_COLORS – linuxjm.osdn.jp
41 背景色:赤
42 背景色:緑
43 背景色:黄 (または茶)
44 背景色:青
45 背景色:紫
46 背景色:シアン
47 背景色:白 (またはグレー)
bashrsへの登録と設定反映
.dircolors の設定変更ができたら、.bashrcに以下のコマンドを追記し、起動時に.dircolorsの設定内容が反映されるようにします。
# 以下を追記する
eval $(dircolors -b ~/.dircolors)
ターミナルを起動しなおすか、 source ~/.bashrc を実行すると、設定が反映されます。
今回の内容は以上です。
dircolorsの設定もしたのでちょっと範囲が広くなりましたが、Windows TerminalからWSL を快適に使う最低限の設定をしました。
あなたのお役に立てればうれしいです。