Closed9
Alacritty + tmux にTrue Color対応する
Rustで書かれたターミナルエミュレーター。OpenGLで描画してくれるのでさくさく。
これに愛用しているTmuxを使ってTrue Color対応したい
モチベーション
カラーテーマ適用して見やすいターミナルにしておきたい。TrueColor対応で24bitの色が使えるようになるので、カラーテーマが本来狙っている画面の見やすさを再現できる。
まず今の環境がTrueColorに対応しているかチェックする
簡単なスクリプトがある
$ curl -s https://gist.githubusercontent.com/lifepillar/09a44b8cf0f9397465614e622979107f/raw/24-bit-color.sh | bash
実行するとこんなかんじ。色のつなぎ目があるとTrueColor非対応です。ガッタガタですね。
実際にTrueColorを適用するにはいくつか手順をふむ必要ががる
- TmuxでTrueColorを扱えるようにする
- Shellの設定を変える
- AlacrittyのTERM設定を変更する
1. TmuxでTrueColorを扱えるようにする
まず、自分の端末の、/usr/share/terminfo/74
あたりに tmux-256color
が存在するかチェックする。Macなら多分入ってないので、下記手順を実行する。
brew install ncurses
/usr/local/opt/ncurses/bin/infocmp tmux-256color > ~/tmux-256color.info
tic -xe tmux-256color ~/tmux-256color.info
ちゃんと反映されたかチェックする場合はinfocmp tmux-256color | head
を実行して下記の表示が出力されていることをチェック。
Reconstructed via infocmp from file: /Users/shinoyu/.terminfo/74/tmux-256color
tmux-256color|tmux with 256 colors,
ubuntuなどLinuxを使っている場合なら、下記のようにncurses-tmux
を設定する
tmux-256colorの導入ができたら、tmux.confを変更
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
2. Shellの設定を変える
だいたいみんなzshだと思われる。zshの場合は特に設定しなくてもOK。
TrueColorはTERM環境変数が絡んでくるが、zshは適するのものを自動判別して上書きする模様。
他のシェルを使っている人は、しらべよう
3. AlacrittyのTERM設定を変更する
alacritty.yml
env:
TERM: xterm-256color
OK
\( 'ω')/ウオオオオアアーーーッッ!!!
この設定だとtigのカラー指定が全く動かなくなってしまったので、下記がベストだと思われます。
tmux.conf
set -g default-terminal "screen-256color"
set -ag terminal-overrides ",alacritty:RGB"
alacrrity.yml
env:
TERM: alacritty
このスクラップは2023/04/26にクローズされました