解决从PowerShell/CMD SSH连接Linux时深蓝色文本的可读性问题
解决从PowerShell/CMD SSH连接Linux时深蓝色文本的可读性问题
我太懂你这种盯着黑背景上的深蓝色文件夹文本抓瞎的烦躁了!折腾了两年的小问题,其实根源很好捋——Linux端的bash用ANSI颜色码定义文件/文件夹颜色,而Windows的PowerShell/CMD对默认深蓝色(ANSI 34码)的渲染对比度极低,刚好撞上你常用的深色主题,就彻底变成“睁眼瞎”了。下面给你两种解决思路,选适合你的来就行:
一、从Windows客户端(PowerShell/CMD)搞定
这种方法不用碰服务器,直接调整Windows终端对ANSI颜色的映射:
- 打开PowerShell,右键标题栏→属性→切换到「颜色」选项卡
- 找到列表里的「蓝色」(注意不是「弹出文本」,是终端标准颜色里的蓝色),把它的RGB值改成更亮的色调,比如
0, 120, 215(偏亮的天蓝色),或者你看着舒服的亮蓝色系 - 点击确定后重启PowerShell,再SSH到服务器,文件夹的颜色就会变成你设置的亮蓝色,黑背景下清晰很多
- CMD的操作几乎一样,也是在属性的颜色选项卡调整蓝色的RGB值
二、从Linux服务器(Debian)调整
如果不想动Windows的设置,直接修改服务器的shell颜色配置更彻底:
- 先确认当前文件夹的颜色配置:执行
echo $LS_COLORS,你会看到类似di=01;34的内容——di代表文件夹(directory),34就是导致看不清的深蓝色ANSI码 - 编辑你的个人bash配置文件
~/.bashrc,添加或者修改一行,把文件夹颜色换成更显眼的,比如亮蓝色(36):
要是喜欢青色、黄色也可以,对应的ANSI码分别是LS_COLORS='di=01;36:'$LS_COLORS export LS_COLORS36、33,选你看着舒服的就行 - 保存文件后执行
source ~/.bashrc让设置立即生效,再敲ls就能看到文件夹颜色变清晰了 - 如果你想更细致地配置所有文件类型的颜色,可以用
dircolors工具:执行dircolors -p查看默认映射,找到DIR那一行修改颜色码,然后把配置保存到~/.dircolors,再在.bashrc里加一行eval "$(dircolors ~/.dircolors)"就行
小排查技巧
你可以在Linux服务器上执行 echo -e "\e[34mThis is dark blue\e[0m",回到PowerShell里看这段文字是不是就是你看不清的深蓝色——如果是,就百分百确认是ANSI 34码的渲染问题,照着上面的方法调整就行。
备注:内容来源于stack exchange,提问作者FOSS Guru




