私の.bashrcにはカラースキームを設定する行があります。
eval $(dircolors colorfile)
これは期待どおりに機能し、 "colorfile"によって生成された正しい文字列にLS_COLORSを設定します。
screen を使用すると bashrc ファイルを再読み込みしますが、色が失われます。テストするためにdircolors colorfile
画面のコマンドラインから実行します
LS_COLORS='';
export LS_COLORS
この問題はかなり簡単に修正できますが、dircolorが画面と画面の外で異なる動作をする原因は何ですか?私は盲目的にファイルを解析し、文字列を出力すると思いました。しかし、一部の環境変数などを確認する必要がありますか?
どんな手がかりがありますか?以下は、いくつかの追加情報です。私の.screenrcは空で、gnome-terminalを使用しています。 Dircolorsのバージョンは8.25です。
私はこのwhich
コマンドを使用して、2つの異なるバイナリを使用していないことを確認します(使用しません)。 $?の価値を確認してみました。 dircolorsを実行した後、どちらの場合も0です。
ベストアンサー1
画面内の値が$TERM
異なります。したがって、colorfile
ファイルはおそらく次に終了する必要があります。
TERM screen*
TERM xterm*