mutt
我在 Ubuntu 18 主机上阅读电子邮件,并通过 ssh 进入。
当我从 macOS 11(通过 iTerm2,如果这很重要)或另一个 Ubuntu 18 主机 ssh 时,一切都很好。
但是当我从 WSL2(运行 Ubuntu 18、20 或 22)SSH 时,mutt 的颜色是错误的。顶部和底部的线条仍然可以,但电子邮件列表已从黑色的亮灰色变为白色的亮灰色,几乎无法阅读。同上查看一封电子邮件:背景已变为白色。
中没有color
指令~/.muttrc
。但是当我添加时,例如,color normal red black
亮灰色文本变成红色(应该如此),但背景不会变成黑色(我的选择已被覆盖)。这种覆盖只发生在 WSL2 中,而不是 macOS 或 Ubuntu。
更奇怪的是,当我在那里选择非黑色背景颜色(青色、亮黑色、亮黄色等)时,背景颜色确实从 WSL2(和其他颜色)发生了变化。黑色很特别。
对于 WSL2 与其他相比,输出set
和的env
不同之处仅在于 SSH_CONNECTION、SSH_CLIENT、SSH_TTY、XDG_SESSION_ID 和像 OLDPWD、LINES、COLUMNS 这样的蜉蝣。
特别是, TERM 始终是xterm-256color
。所以我怀疑 mutt 是否知道它是否来自 WSL2。因此错误配置可能不在 mutt 中,而是在 WSL2 中。
在 WSL2 中,当我调整右键单击 > 属性 > 颜色 > 四个颜色单选按钮,或调整属性 > 终端 > 用于单独前景色/背景色的复选框时,不会发生任何变化。
如何阻止 WSL2 将默认背景颜色覆盖为白色?
除了 mutt 之外的其他东西是否也会引发这种行为?(不是 vim:在所有情况下,它的 solarized8 主题和语法着色都很好。)
终端实际上是呈现你的“东西”。不是 WSL。
WSL 仅发送命令,终端正在执行工作。
cmd.exe 调用的标准终端是一个终端,Windows 终端是另一个具有更多功能的终端。
Git BASH 调用 MINGW64 终端(又一个).. 有很多。
输出的行为由终端本身控制。