scramble cadenza

技術ネタのガラクタ置き場

Cannot find terminfo entry for 'xterm-256color' と言われる件

こんな時に発現

  • iterm2 使って 256 color にしている
  • tmux を使って環境変数を色々渡している

などの条件が重なって リモートサーバーに xterm-256color が無い場合再現するっぽい。

症状

  • vi, emacs, nano などのエディタが開かない → ファイルを編集できないコンボ

ちょっとした変更を試したい時、とても辛い…

解決法

まずは落ち着いてリモートサーバーにログインし terminfo を確認する。

ls /usr/share/terminfo/x # もしくは /usr/share/lib/terminfo/x にあるかもしれない

を見ると名前がずらり。

これらの中からお好きなモノを環境変数にセットすればよい。
今回は xterm-xfree86 の例(この TERMINFO をセットしてから vi 動かすと色が付いた)

export TERM=xterm-xfree86
vi hoge
#=> ちゃんと開ける

後はリモートサーバーの .bashrc に TERM=xterm-xfree86 を書くなり、ssh するタイミングで環境変数を渡すなり、お好きな様に。