屏幕内嵌套的 ssh 会话没有颜色

屏幕内嵌套的 ssh 会话没有颜色

我试图在 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

相关内容