Ssh

螢幕內的嵌套 ssh 會話沒有顏色

  • January 24, 2011

我試圖在 byobu/screen 視窗中保留一個嵌套的 ssh 會話,我還通過 SSH 在 Windows 上使用 Putty 連接到該視窗。

但是嵌套的 SSH 會話沒有顏色。這就是我所說的:

缺乏色彩

在左側,您連接wreckcreations了沒有顏色的 byobu。在右側,您將 Putty 直接連接到wreckcreations顏色。請注意,通常 byobu 在本地工作時有顏色。

我嘗試弄亂$TERM,$PSI和其他變數無濟於事。有什麼想法會導致這種情況嗎?

這可能是很多事情。

請提供以下輸出:

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

引用自:https://unix.stackexchange.com/questions/6325