Windows cygwin端子颜色在sshing时会褪色

Windows cygwin端子颜色在sshing时会褪色,windows,ssh,colors,cygwin,Windows,Ssh,Colors,Cygwin,当我通过ssh连接到服务器时,我的整个cygwin终端完全变暗,颜色变得更加柔和。我认为只有当我使用ssh连接到一个特定的服务器时才会发生这种情况(这是我实际可以使用ssh访问的唯一服务器,但我在网上尝试了另一个随机服务器,当我连接到另一个服务器时,我的颜色没有褪色) 以下是我的终端中发生的gif(忽略随机fd): 这是我正在使用的服务器如何配置的问题吗? 因为我以前使用MobaXTerm shell进行ssh,当我ssh到同一台服务器时,其中的颜色仍然很鲜艳。当您ssh到远程服务器时,它有自己

当我通过ssh连接到服务器时,我的整个cygwin终端完全变暗,颜色变得更加柔和。我认为只有当我使用ssh连接到一个特定的服务器时才会发生这种情况(这是我实际可以使用ssh访问的唯一服务器,但我在网上尝试了另一个随机服务器,当我连接到另一个服务器时,我的颜色没有褪色)

以下是我的终端中发生的gif(忽略随机fd):

这是我正在使用的服务器如何配置的问题吗?
因为我以前使用MobaXTerm shell进行ssh,当我ssh到同一台服务器时,其中的颜色仍然很鲜艳。

当您ssh到远程服务器时,它有自己的环境变量设置,包括
LS\u colors
。通常,这将与已知的颜色方案相对应。但不久前,Red Hat对环境变量进行了更改,以消除bold标志(表面上是为了在UTF-8控制台中增加几个字符)。如果你不打算使用颜色,这听起来像是一种改进

许多终端使用较亮的颜色渲染bold视频属性(而不是切换为粗体字体)。原因有两个:

  • VGA显示器对混合字体的支持有限(粗体和斜体是不同的)
  • VGA显示器支持16种颜色,ANSI定义为8种,因此使用额外颜色是一种自然的方式
要了解差异,您可以尝试

ls
unset LS_COLORS
ls
根据有关的评论,远程计算机正在修改终端的调色板,即,在以该文本开头的行中(此处缩短以便于阅读):

这些都是背景

  • 16种调色板中的每种颜色
  • 可能用于加粗、下划线、反转和闪烁的颜色
  • 加上动态前景/背景色
这些都记录在中(请参见Ps=4、10和11的说明)。最近的Cygwin使用mintty,它可以识别相当多的序列。MoabXterm基于putty,它不识别那些序列(我记得…)。所以你看到了使用Cygwin的问题

没有“将调色板重置为默认值”控制序列

可以构造一个脚本将这些设置回某个值,但在计算机上安装
xtermcontrol
记录初始调色板可能更简单,例如,使用其
--get colorN
选项,并在另一个脚本中使用该脚本,使
xtermcontrol
生成一组转义序列,您可以将其
cat
发送到终端,重置调色板

这方面并没有太多的关注(恢复设置),因为大多数调色板操作(我见过)都是使用256色的暴力脚本。现在检查我的Fedora23,我可以看到,如果我连接的是
TERM=xterm-256color
,它就会这样做

如果在连接到该服务器时确保将
术语设置为
“xterm”
,则可能不会重置调色板

进一步阅读:

  • (xterm常见问题解答)

我尝试过使用未设置的LS_颜色,但我没有发现奇怪的差别-这通常足以用红帽子修复问题。当然,他们可以将
ls
打补丁以匹配喜欢的非粗体颜色。此外,即使在我注销ssh会话后,这些颜色在我的常规控制台中仍然是静音的。我还应该提到,我将
ls
别名为
if[[uname=“Darwin”| uname=“FreeBSD”];然后别名ls='ls-G'else别名ls='ls--color=auto'fi
或者,该服务器可以设置调色板(用于某人的“颜色主题”)。我只需要运行一个到服务器的连接,使用
script
捕获文本,然后使用
cat-v
查看其中的转义序列。如果你能以可读的形式粘贴,我可以就实际原因提出一些建议。
^[]4;0;rgb:18/18/18^[\^[]4;1;rgb:ab/46/42^[\^[]4;2;rgb:a1/b5/6c^[\^[]4;3;rgb:f7/ca/88^[\^[]4;4;rgb:7c/af/c2^[\^[]4;5;rgb:ba/8b/af^[\^[]4;6;rgb:86/c1/b9