![屏幕内嵌套的 ssh 会话没有颜色](https://linux22.com/image/775/%E5%B1%8F%E5%B9%95%E5%86%85%E5%B5%8C%E5%A5%97%E7%9A%84%20ssh%20%E4%BC%9A%E8%AF%9D%E6%B2%A1%E6%9C%89%E9%A2%9C%E8%89%B2.png)
我试图在 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