我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 主题和语法颜色渲染都很好。)
答案1
终端才是真正呈现你的“内容”的地方。不是 WSL。
WSL 仅发送命令,终端执行工作。
cmd.exe 调用的标准终端是一个终端,即Windows 终端是另一款具有更多功能的。
Git BASH 调用 MINGW64 终端(还有另一个)..有很多。
输出的行为由终端本身控制。