鴨川のはりねずみ

WSL2とtmuxでtrue colorが表示されない

目次

環境

  • Win10 22H2, Win11 23H2
  • WSL2 + Windows Terminal (1.20.11781.0)
  • Debian 12.7 + tmux 3.3a, Debian 11.11 + tmux 3.1c

状況

tmux 使用時にターミナルが true color を表示できない. tmux を使っていなければ表示できる.

true color が正しく表示できているかのチェックは次の記事の方法がお手軽で助かりました.

解決法

いろいろ調べると ~/.tmux.conf の設定を見直せば解決したと言っている人が多い.

set -g default-terminal "screen-256color"
set-option -sa terminal-overrides ",xterm-256color:Tc"

ただこれだけでは解決せず, いろいろ調べた結果, ~/.bashrc で環境変数 $TERM を指定しているのが悪さをしており, この行を消せば true color を表示できるようになった.

#export TERM=xterm-256color

この設定はもともと別の環境で true color が表示されないのを解決するために入れた気がするんですけどね...

補足: 環境変数 $TERM について

$TERM で指定可能な値は以下の場所に格納されており, 上から順に探しに行く模様.

${HOME}/.terminfo
/etc/terminfo
/lib/terminfo
/usr/share/terminfo

参考文献