因此,当我通过 SSH 进入我的 Debian 服务器时,我的 shell 目前看起来像这样:
我主要使用 PowerShell 作为客户端,并自定义背景和文本颜色以匹配系统主题。命令提示符给出类似的结果。我可以从 Microsoft Store 安装那个花哨的终端应用程序,但无论如何都不会使用它,因为我不想在我的所有系统上安装它。我喜欢尽可能保留所有东西,我想如果我想使用原始 PowerShell,会有一种方法可以解决这个问题,但首先我需要弄清楚深蓝色文本来自哪里。目录文本颜色是由 Windows 客户端决定的,还是服务器上的配置文件驱动它?(也许在 .bashrc 文件中?)
目前很难判断是哪种情况,因为除了 ssh_config 之外,我没有看到太多与 TTY 配置服务器端相关的内容,而 ssh_config 中没有提到任何有关 shell 颜色的内容。当我在客户端编辑 PowerShell 属性时,有几个可能的设置可能适用于此:
PowerShell/CMD >> 属性 >> “颜色”选项卡下的“弹出文本”可能是我们正在寻找的,但我面前没有 Win VM;我不知道默认值是什么,而且更改这种颜色似乎没有什么区别。
“终端”选项卡更可能是与 SSH 会话的 shell 中看到的设置相关的设置。我尝试了“使用单独的前台”,但这样做只会将我的文本改回白色,但深蓝色文本仍显示在文件夹中。
我也尝试过更改终端应用程序,但似乎没有改变任何东西。
到目前为止,我已经考虑了这个优先级较低但非常烦人的问题一两年了,因为它时不时地出现,导致输出无法读取。我读过很多其他帖子,提到了黑色背景上深蓝色文本的问题,但大多数帖子我都没有取得太大进展。
该问题在 SSH 会话中表现得最为突出,如果我没记错的话,我甚至想说我在常规 PowerShell 中也见过几次,这肯定表明它更多的是 Windows 问题而不是 Linux 问题。现在我已经修改了一些命令提示符/PowerShell 设置,从那时起,在执行 PowerShell 操作时这个问题似乎已经消失,但是一旦我启动 SSH 会话...你好老朋友。拔掉头发
答案1
答案2
本地终端仅遵循远程颜色命令(基本前景/背景颜色除外)。目录等内容的颜色由ls
远程服务器上的命令决定。
具体来说ls
,默认行为通常是这些颜色设置在您的LS_COLORS
环境变量中,您可以使用 进行检查echo $LS_COLORS
。这些通常来自dircolors
、您的配置文件~/.bash_profile
或系统级文件(如 )/etc/DIR_COLORS
。
请注意,每个命令可能都有不同的设置颜色的方式。grep
通常有一个单独的列表,/etc/GREP_COLORS
例如。不同的发行版也可能有所不同。