byobu/screen ウィンドウ内にネストされた SSH セッションを維持しようとしています。 Windowsでは、Puttyを使用してSSH経由で接続することもできます。
ただし、ネストされたSSHセッションには色はありません。これは私が言わなければならないでしょう:
左側はbyobuに接続されていますが、wreckcreations
色はありません。右側では、Puttyをwreckcreations
色に直接接続します。通常、byobuはローカルで作業するときに色付けされます。
$TERM
、およびその他の変数を試してみましたが、$PSI
役に立ちませんでした。何がこのようなことを引き起こす可能性があるかご存知ですか?
答え1
それはたくさんあるかもしれません。
次の出力を提供します。
echo $TERM
echo $LS_COLORS
typeset -p LS_COLORS
alias ls
tput setaf 1 | od -c
echo "$(tput setaf 1)red$(tput sgr0)"
予想される結果:
xterm (optional, see below)
no=00:... (or similar, should not be empty)
declare -x LS_COLORS="no=00:..." (ditto)
alias ls='ls --color=auto' (or similar)
0000000 033 [ 3 1 m
0000005
red (in red)
私の推測:TERM
何かが珍しいものに設定されており、dircolorsはこれについて知らないので、ls
どの色を使うべきかわかりません。
この場合、byobu/screenセッションで上記のコマンドを実行すると、次のようになります。
screen (or screen-something)
(nothing)
(nothing)
0000000 033 [ 3 1 m
0000005
red (in red)
次のコマンドを実行して、これらのケースであることを確認してください。
dircolors -p | grep "^TERM $TERM$"
何も印刷されないことを願っています。
構成に応じて、最も簡単な回避策は次のとおりです。
dircolors -p > ~/.dircolors
echo "TERM $TERM" >> ~/.dircolors